Java - if文


■ページ目次

Top

■if 文(条件分岐)

Top
■if-then文
■例題
  1. コマンドラインから入力した引数の数により、つぎのことを行うアプリケーション"Args01.java"を作成してください。
    1. public class Args01 {
    2. public static void main(String[] args) {
    3. if (args.length != 1) {
    4. System.out.println("引数をひとつ指定してください。");
    5. System.exit(1); // アプリケーションを終了します
    6. }
    7. System.out.println("引数: " + args[0]);
    8. }
    9. }

    □ 実行結果

    $ java Args01
    引数をひとつ指定してください。
    
    $ java Args01 Hello
    引数: Hello
    
    $ java Args01 Hello World
    引数をひとつ指定してください。
    
    $ java Args01 "Hello World"
    引数: Hello World
    
■補足
■実習
  1. コマンドラインから入力した 3 つの整数のうち、最小値を表示するアプリケーション"Min01.java"を作成してください。
    1. public class Min01 {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]);
    4. int b = Integer.parseInt(args[1]);
    5. int c = Integer.parseInt(args[2]);
    6. int min = a;
    7. // ここにコードを記述してください。
    8. System.out.println(a + ", " + b + ", " + c + " の最小値は " + min);
    9. }
    10. }

    □ 実行結果

    $ java Min01 1 2 3
    1, 2, 3 の最小値は 1
    
  2. コマンドラインから入力した 3 つの整数のうち、最小値と最大値を表示するアプリケーション"MinMax.java"を作成してください。
    1. public class MinMax {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]);
    4. int b = Integer.parseInt(args[1]);
    5. int c = Integer.parseInt(args[2]);
    6. int min = a;
    7. int max = a;
    8. // ここにコードを記述してください。
    9. System.out.println(a + ", " + b + ", " + c + " の最小値は " + min);
    10. System.out.println(a + ", " + b + ", " + c + " の最大値は " + max);
    11. }
    12. }

    □ 実行結果

    $ java MinMax 1 2 3
    1, 2, 3 の最小値は 1
    1, 2, 3 の最大値は 3
    
Top
■if-then-else 文
■例題
  1. コマンドラインから入力した2つの整数の大小関係を出力するアプリケーション"Large01.java"を作成してください。
    1. public class Large01 {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]);
    4. int b = Integer.parseInt(args[1]);
    5. if (a > b) {
    6. System.out.println(a + " は " + b + " よりも大きい");
    7. } else {
    8. System.out.println(b + " は " + a + " よりも大きい");
    9. }
    10. }
    11. }

    □ 実行結果

    $ java Large01 1 2
    2 は 1 よりも大きい
    
Top
■if文のネスト
■例題
  1. "Large01.java"では、同じ数値が指定されたとき、メッセージが正しくありません。実行結果を参考にして、正しいメッセージを出力するアプリケーション"Large02.java"を作成してください。
    1. public class Large02 {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]);
    4. int b = Integer.parseInt(args[1]);
    5. if (a > b) {
    6. System.out.println(a + "は" + b + "よりも大きい");
    7. } else if (a == b) {
    8. System.out.println(a + "と" + b + "とは等しい");
    9. } else {
    10. System.out.println(b + "は" + a + "よりも大きい");
    11. }
    12. }
    13. }

    □ 実行結果

    $ java Large02 10 10
    10と10とは等しい
    
Top
■実習
  1. コマンドラインから入力した2つの整数を、小さい順に表示するアプリケーション"Exchange02.java"を作成、実行してください。
    1. public class Exchange02 {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]); // コマンドラインからの引数をint型に変換します。
    4. int b = Integer.parseInt(args[1]); // コマンドラインからの引数をint型に変換します。
    5. // ここにコードを記述してください。
    6. System.out.println("小さい順に表示: " + a + ", " + b);
    7. }
    8. }

    □ 実行結果

    $ java Exchange02 2 5
    小さい順に表示: 2, 5
    
    $ java Exchange02 2 -5
    小さい順に表示: -5, 2
    
  2. コマンドラインから入力した整数が奇数か偶数かを判定してメッセージを出すアプリケーション"EvenOdd02.java"を作成してください。
    1. public class EvenOdd02 {
    2. public static void main(String[] args) {
    3. int a = Integer.parseInt(args[0]);
    4. // ここにコードを記述してください。
    5. }
    6. }

    □ 実行結果

    $ java EvenOdd02 10
    10は偶数です。
    
    $ java EvenOdd02 11
    11は奇数です。
    
  3. コマンドラインから入力した整数が0から100の範囲に入っているか否かを表示するアプリケーション"Range11.java"を作成してください。
    1. public class Range11 {
    2. public static void main(String[] args) {
    3. int n = Integer.parseInt(args[0]);
    4. // ここにコードを記述してください。
    5. }
    6. }

    □ 実行結果

    $ java Range11 50
    50は範囲内です
    
    $ java Range11 -1
    -1は範囲外です
    
    $ java Range11 101
    101は範囲外です
    
  4. 上記"Range11.java"を改良して、コマンドラインから入力した整数の値によって、つぎのメッセージをプリントするアプリケーション"Range12.java"を作成してください。
    1. public class Range12 {
    2. public static void main(String[] args) {
    3. int n = Integer.parseInt(args[0]);
    4. // ここにコードを記述してください。
    5. }
    6. }

    □ 実行結果

    $ java Range12 50
    少し、がんばりましょう。
    
    $ java Range12 -1
    -1は範囲外です
    

  5. コマンドライン引数から体重(kg)と身長(m)を指定し、BMI を計算し表示するアプリケーション"Bmi01.java"を、BMI の値により、以下のメッセージを表示するように改良してください。("Bmi03.java")
    1. public class Bmi03 {
    2. public static void main(String[] args) {
    3. double weight = Double.parseDouble(args[0]);
    4. double hight = Double.parseDouble(args[1]);
    5. //
    6. // ここにコードを記述してください。
    7. //
    8. }
    9. }

    □ 実行結果

    $ java Bmi03 60 1.7
    BMI = 20.761245674740486 判定は 標準
    
  6. 上記"Range11.java"を改良して、コマンドラインから入力した整数の値によって、つぎのメッセージをプリントするアプリケーション"Range12.java"を作成してください。
    1. public class Range12 {
    2. public static void main(String[] args) {
    3. int n = Integer.parseInt(args[0]);
    4. // ここにコードを記述してください。
    5. }
    6. }

    □ 実行結果

    $ java Range12 50
    少し、がんばりましょう。
    
    $ java Range12 -1
    -1は範囲外です
    
  7. コマンドラインから入力した月の日数を出力するアプリケーション"Days00.java"を作成してください。
    1. public class Days00 {
    2. public static void main(String[] args) {
    3. int month = Integer.parseInt(args[0]);
    4. int days;
    5. // ここにコードを記述してください。
    6. System.out.println(month + " 月は " + days + " 日です。");
    7. }
    8. }

    □ 実行結果

    $ java Days00 2
    2 月は 28 日です。
    
  8. じゃんけんゲームをするアプリケーション"Janken10.java"を作成してください。ゲームは、コマンドラインからグー(0)、チョキ(1)、パー(2)のいずれかを入力します。
    1. public class Janken10 {
    2. public static void main(String[] args) {
    3. int user = Integer.parseInt(args[0]); // コマンドラインからの引数をint型に変換します。
    4. int computer = (int)(Math.random() * 3); // コンピューターの手
    5. // ここにコードを記述してください。
    6. System.out.print("あなた: " + user + ", コンピューター: " + computer);
    7. }
    8. }

    □ 実行結果

    $ java Janken10 0
    あなた: 0, コンピューター: 1 あなたの勝ちです。
    
  9. コマンドラインから入力した西暦年がうるう年か否かを判定するアプリケーション"LeapYear01.java"を作成してください。
    なお、複数のif文を使用してかまいません。 西暦年がつぎの条件を満たす場合、うるう年になります。 テストにはつぎの年を使用してください。
    1. public class LeapYear01 {
    2. public static void main(String[] args) {
    3. int year = Integer.parseInt(args[0]);
    4. // ここにコードを記述してください。
    5. }
    6. }

    □ 実行結果

    $ java LeapYear01 2004
    2004年はうるう年です。
    
  10. (オプション)
    上記アプリケーションで、論理演算子を使用してひとつのif文で判定できるように改造("LeapYear02.java")してください。
Top

inserted by FC2 system