package j1.lesson11basic;
import java.io.*;
/**
* 課題1111 - 解答例.
* @author java2005
* @version $Id: ArrayStatistics1_java.rps,v 1.1 2006/07/14 05:33:58 java2005 Exp $
*/
public class ArrayStatistics1 {
/**
* コンソールから実数型のデータを次々と入力し、総和と平均を表示するプログラム。
* mainメソッドの動作を表す擬似コードは以下の通りである。
* <pre>
* プログラム全体
* print "データ個数を入力:"
* dataSize = コンソール入力 (整数)
* if dataSize が0以下
* print "データ個数は、1以上にして下さい。"
* プログラムの終了
* data = 長さ dataSize の新しい配列 (double[])
* for i を 0 から dataSize - 1 まで
* print "第" + i + "番目のデータを入力:"
* data[i] = コンソール入力(実数)
* total = 0.0
* for i を 0 から dataSize - 1 まで
* total に data[i] を加える
* average = total / data の長さ
* print "データの総和:" + total
* print "データの平均:" + average
* </pre>
* @param args 無視される
* @throws IOException 入力時に例外が発生した場合
*/
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// データの個数を入力する
System.out.print("データ個数を入力: ");
int dataSize = Integer.parseInt(reader.readLine());
if (dataSize <= 0) {
System.out.print("データ個数は、1以上にして下さい。");
return;
}
// データを入力する
double[] data = new double[dataSize];
for (int i = 0; i < data.length; i++) {
System.out.print("第" + i + "番目のデータを入力: ");
data[i] = Double.parseDouble(reader.readLine());
}
// 総和を集計する
double total = 0;
for (int i = 0; i < data.length; i++) {
total += data[i];
}
// 平均を計算する
double average = 0;
average = total / data.length;
System.out.println("データの総和:" + total);
System.out.println("データの平均:" + average);
}
}
|