package j1.lesson06;
import java.io.*;
/**
* 課題0603 - 解答例.
* @author s.arakawa
* @version $Id: MaxMin_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class MaxMin {
/**
* コンソールから0以上100以下の整数を繰り返し入力させ、
* その範囲外の値が入力された際に繰り返しを終了し、
* そこまでに入力された0以上100以下の値の中で最大のものと最小のものを表示するプログラム。
* @param args 無視される
* @throws IOException 入力時に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// input: 入力された値を保存する
int input;
// max: 最大値を保存する。範囲外の値(正当な入力より小さな値)で初期化
// 正当な入力より大きな値で初期化すると変化しなくなるので注意
int max = -1;
// min: 最小値を保存する。範囲外の値(正当な入力より大きな値)で初期化
// 正当な入力より小さな値で初期化すると変化しなくなるので注意
int min = 101;
System.out.print("値を入力してください:");
input = Integer.parseInt(reader.readLine());
// 入力が0以上100以下なら繰り返す
while (0 <= input && input <= 100) {
// 今までの最大値より大きければ最大として保存
if (input > max) {
max = input;
}
// 今までの最小値より小さければ最小として保存
if (input < min) {
min = input;
}
// 次の入力
System.out.print("値を入力してください:");
input = Integer.parseInt(reader.readLine());
}
// 最大値や最小値が初期値なら入力はなかった
// if (min > 100) でも良い
if (max < 0) {
System.out.println("入力はありません");
}
// 一度でも最大/最小が変更されていたらOK
else {
System.out.println("最大は" + max);
System.out.println("最小は" + min);
}
}
}
|