package j1.lesson05;
import java.io.*;
/**
* 課題0502 - 解答例.
* @author s.arakawa
* @version $Id: ScoreAverage_java.rps,v 1.1 2006/03/06 12:56:15 java2005 Exp $
*/
public class ScoreAverage {
/**
* コンソールから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;
// total: 合計を保存する
int total = 0;
// count: 回数を保存する
int count = 0;
// 最初の入力
System.out.print("値を入力してください:");
input = Integer.parseInt(reader.readLine());
// 入力が0以上100以下なら繰り返す
while (0 <= input && input <= 100) {
// 0以上100以下の値が入力された回数をカウント
count++;
// 入力の合計に加算
total += input;
// 次の入力
System.out.print("値を入力してください:");
input = Integer.parseInt(reader.readLine());
}
// 一度も0以上100以下の値が入力されなかった
if (count == 0) {
System.out.println("入力はありません");
}
else {
// 平均は 合計 / 個数
// total を無理矢理 double 型に変換してやると、小数まで計算してくれる
// total の手前に (double) と変換してやりたい型をつければよい
System.out.println("平均は" + ((double)total / count));
}
}
}
|