エンジニア成長日記 swaponQ

コンピュータサイエンス専攻の一般人のブログです。

新・明解 Java 入門 演習 3-12, 3-13 解答

Hello, Terminal!swaponQです!

前回に引き続き、今回は演習 3-12, 3-13 に取り組んでいこうと思います。

  • 演習 3-12

キーボードから読み込んだ三つの整数値の最小値を求めて表示するプログラムを作成せよ。

ex03_12.java

import java.util.Scanner;

class ex03_12 {
  public static void main(String[] args) {
    Scanner stdIn = new Scanner(System.in);
    System.out.print("整数値a:");
    int a = stdIn.nextInt();
    System.out.print("整数値b:");
    int b = stdIn.nextInt();
    System.out.print("整数値c:");
    int c = stdIn.nextInt();
    int ans;
    if (a < b && a < c) {
      ans = a;
    } else if (b < a && b < c) {
      ans = b;
    } else {
      ans = c;
    }
    System.out.println("最小値は" + ans + "です。");
  }
}

実行結果

整数値a:13
整数値b:45
整数値c:2
最小値は2です。
  • 演習 3-13

キーボードから読み込んだ三つの整数値の中央値を求めて表示するプログラムを作成せよ。

ex03_13.java

import java.util.Scanner;

class ex03_13 {
  public static void main(String[] args) {
    Scanner stdIn = new Scanner(System.in);
    System.out.print("整数値a:");
    int a = stdIn.nextInt();
    System.out.print("整数値b:");
    int b = stdIn.nextInt();
    System.out.print("整数値c:");
    int c = stdIn.nextInt();
    int ans;
    //並び替えパターンを全て探索し、ansに中央値を代入
    if (a > b) {
      if (a > c) {
        if (b > c) {
          ans = b;  //(a > b > c)
        } else {
          ans = c;  //(a > c > b)
        }
      } else {
        ans = a;  //(c > a > b)
      }
    } else {
      if (a < c) {
        if (b < c) {
          ans = b;  //(a < b < c)
        } else {
          ans = c;  //(a < c < b)
        }
      } else {
        ans = a;  //(c < a < b)
      }
    }
    System.out.println("中央値は" + ans + "です。");
  }
}

実行結果

整数値a:32
整数値b:81
整数値c:40
中央値は40です。

今回は以上です。お疲れ様でした!
次回は演習 3-14, 3-15, 3-16 です。

Goodbye, Terminal… swaponQでした!