package j1.lesson03;
import java.io.*;
/**
* 課題0302 - 解答例.
* @author s.arakawa
* @version $Id: Max3_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class Max3 {
/**
* コンソールに3つの整数をそれぞれ入力させ、その最大値を表示するプログラム。
* @param args 無視される
* @throws IOException 入力中に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("整数を入力(1):");
int a = Integer.parseInt(reader.readLine());
System.out.print("整数を入力(2):");
int b = Integer.parseInt(reader.readLine());
System.out.print("整数を入力(3):");
int c = Integer.parseInt(reader.readLine());
// 方針
// 1. a と b のうち、どちらが大きいか判別する
// 2. 判別結果によって場合分けを行う
// 3a. (aの方が大きい場合) a と c を比較し、大きいものを出力
// 3b. (aの方が大きくない場合) b と c を比較し、大きいものを出力
// a と b のうちどちらが大きいか判別し、場合分け
if (a > b) {
// このブロック内では a の方が大きい
// -> b は最大にならないので、もう考えなくて良い
// a と c を比較し、大きいものを出力
if (a > c) {
// a の方が大きい
System.out.println("最大の値は" + a);
}
else {
// c のほうが大きい (または同じ)
System.out.println("最大の値は" + c);
}
}
else {
// このブロック内では b の方が大きい (または同じ)
// -> a は最大にならないので、もう考えなくて良い
// a == b のとき a も最大になりうるが、
// その場合は a を出力しても b を出力しても結果は同じだから無視する
// b と c を比較し、大きいものを出力
if (b > c) {
// b の方が大きい
System.out.println("最大の値は" + b);
}
else {
// c のほうが大きい (または同じ)
System.out.println("最大の値は" + c);
}
}
}
}
|