演習(配列)の回答例

出典: CourseWiki

 
public class ArrayExercise {
    public static void main(String[] args) {
        double[] data = new double[5];
        // 配列にデータを入力する (data.lengthは配列の大きさなのでここでは5)
        for (int i = 0; i < data.length; i++) {
            System.out.print((i + 1) + ": ");
            data[i] = Keyboard.doubleValue();
        }
        // 表示
        for (int i = 0; i < data.length; i++) {
            System.out.print(data[i] + " ");
        }
        System.out.println();
 
        // 逆順に表示 (最初の添字は data.length - 1 からということに注意)
        for (int i = data.length - 1; i >= 0; i--) {
            System.out.print(data[i] + " ");
        }
        System.out.println();
 
        // 合計と平均を求める (double型!)
        double sum = 0.0;
        for (int i = 0; i < data.length; i++) {
            sum += data[i];
        }
        double ave = sum / data.length;
        // 合計と平均を表示
        System.out.println("Total: " + sum);
        System.out.println("Average: " + ave);
    }
}

余裕がある人バージョン

0を入力しなくても配列の大きさまで入力されたら終了するように気をつける必要があります.

 
public class ArrayExercise2 {
    public static void main(String[] args) {
        double[] data = new double[5];
        // データの数 (Number of Data) を覚えておく変数
        int ndata;
        // データを入力
        // 配列の大きさ(5個)入力されるか,0が入力されるまで繰り返す.
        for (ndata = 0; ndata < data.length; ndata++) {
            System.out.print((ndata + 1) + ": ");
            data[ndata] = Keyboard.doubleValue();
            // 0が入力されたら抜ける
            if (data[ndata] == 0.0) {
                break;
            }
        }
        // ここで ndata の値が入力されたデータの数になっていることに注意
        // 表示
        for (int i = 0; i < ndata; i++) {
            System.out.print(data[i] + " ");
        }
        System.out.println();
 
        // 逆順に表示
        for (int i = ndata - 1; i >= 0; i--) {
            System.out.print(data[i] + " ");
        }
        System.out.println();
 
        // 合計と平均を求める
        double sum = 0.0;
        for (int i = 0; i < ndata; i++) {
            sum += data[i];
        }
        double ave = sum / ndata;
        // 合計と平均を表示
        System.out.println("Total: " + sum);
        System.out.println("Average: " + ave);
    }
}
ナビゲーション