ホームへ
情報処理技法(Javaプログラミング)1のトップページへ
5人の生徒の英語の平均点を求めるプログラム(for文, ArrayList)
まず、ArrayListを使うには、プログラムの冒頭に
import java.util.ArrayList;
の1文を加えます。また、ArrayListの変数宣言と初期化は、ArrayListの変数名と登録する値のデータ型を決めておいて、
ArrayList>Integer< englishScoreList = new ArrayList>Integer<();
のように書きます。「Integer」は登録する値のデータ型(int型の値を登録する場合、ArrayListでの宣言は「Integer」と書きます)、「englishScoreList」は、値を登録するArrayListの変数名で、今回は、英語の得点を登録するための変数です。
そして、ArrayListへの具体的な値の登録は
englishScoreList.add(値);
のように書きます。
ArrayListでの点数の合計を計算するには、合計を表すint型の変数を1つ用意し(sumとします)、ArrayListの中に入っている値を1つ1つ取り出して、それを加えていきます。このとき、変数sumには、for文の前で、0を代入しておきます。これは、0は足しても、最終的な結果に影響しないからです。
ArrayListでは、ArrayList向けのfor文を使った場合、ArrayListから取り出された1つ1つの値は、そのfor文内で宣言された変数に代入されています。従って、そのfor文内で宣言された変数をscoreとすると、
sum = sum + score;
で、合計を計算していくことになります。これにより、for文の処理は以下のようになります。
解答プログラム(AverageArrayList.java)
1. でつけた番号は、そのまま、それぞれの曜日に対応するArrayListのインデックスになります。そして、正の整数を7で割った余りは、必ず0~6の数になります。つまり、3. で求める曜日は、そのArrayListのインデックスが、2. で求めた余りに等しいものとなります。従って、2. で求めた余りをそのままArranListのインデックスとすることで、if文を使うことなく、結果を求めることができます。
Copyright (C) Junko Shirogane, Tokyo Woman's Christian University 2016, All rights reserved.