エンジニア成長日記 swaponQ

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

新・明解 Java 入門 演習 3-14, 3-15, 3-16 解答

Hello, Terminal!swaponQです!

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

  • 演習 3-14

二つの整数値を読み込んで、小さい方の値と大きい方の値の両方を表示するプログラムを作成せよ。ただし、二つの整数値が等しい場合は、「二つの値は同じです。」と表示すること。

ex03_14.java

import java.util.Scanner;

class ex03_14 {
	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();
		int max = a;
		int min = b;
		if (max < min) {
			int t = max;
			max = min;
			min = t;
		}
		System.out.println((max == min) ? "二つの値は同じです。" : "大きい方の値は" + max + "、小さい方の値は" + min + "です。");
	}
}

実行結果

整数値a:13
整数値b:54
大きい方の値は54、小さい方の値は13です。
  • 演習 3-15

二つの整数値を読み込んで降順にソートするプログラムを作成せよ。

ex03_15.java

import java.util.Scanner;

class ex03_15 {
	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();
		int max = a;
		int min = b;
		if (max < min) {
			int t = max;
			max = min;
			min = t;
		}
		System.out.println("降順:" + max + ", " + min);
	}
}

実行結果

整数値a:5
整数値b:9
降順:9, 5
  • 演習 3-16

三つの整数値を読み込んで昇順にソートするプログラムを作成せよ。

ex03_16.java

import java.util.Scanner;

class ex03_16 {
  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();
    // ans1 < ans2 < ans3
    int ans1;
    int ans2;
    int ans3;
    //中央値探索時に用いたアルゴリズムを転用
    if (a > b) {
      if (a > c) {
        if (b > c) {
          ans1 = c;
          ans2 = b;
          ans3 = a;
        } else {
          ans1 = b;
          ans2 = c;
          ans3 = a;
        }
      } else {
        ans1 = b;
        ans2 = a;
        ans3 = c;
      }
    } else {
      if (a < c) {
        if (b < c) {
          ans1 = a;
          ans2 = b;
          ans3 = c;
        } else {
          ans1 = a;
          ans2 = c;
          ans3 = b;
        }
      } else {
        ans1 = c;
        ans2 = a;
        ans3 = b;
      }
    }
    System.out.println("昇順:" + ans1 + ", " + ans2 + ", " + ans3);
  }
}

実行結果

整数値a:8
整数値b:4
整数値c:5
昇順:4, 5, 8


今回は以上です。お疲れ様でした!
次回はいよいよ最後、演習 3-17, 3-18 です。

Goodbye, Terminal… swaponQでした!