public class Exercise {
public void run(){
int array[] = new int[] {98, 12, 9, 102, 88};
int i = 0; // インデックスを初期化
int sum = 0; // 合計を保存するための変数
// whileを使って合計を計算
while (i <= array.length - 1) {
sum = sum + array[i]; // 合計に現在のiの要素を足し算する
i++; // iに1を足す
}
System.out.println(sum / array.length) // 平均を求める
}
}
結果
61
配列の要素をwhileで繰り返し計算する時には、
int i =0; でiを初期化し、int array = 0;で合計を保存するための箱を作っておく。
iがarray.length(配列の要素数) - 1と等しいか小さい数の場合、
sum += array[i];でiに現在のiの値を足し、
i++でiに1ずつ足していく。
{98, 12, 9, 102, 88}の
インデックス番号は0, 1, 2, 3, 4
array.lengthは5
// 初期値はi = 0
初期値0にインデックス番号0の98を足した数がsumの値となる(sum = 98)
i = 0はarray.lengthの5よりも小さいのでiに1が足される(i(0) + 1)
// i = 1
sum = 98にインデックス番号1の12を足した数がsumの値となる(sum = 110)
i = 1はarray.lengthの5よりも小さいのでiに1が足される(i(1) + 1)
// i = 2
sum = 110にインデックス番号2の9を足した数がsumの値となる(sum = 119)
i = 2はarray.lengthの5よりも小さいのでiに1が足される(i(2) + 1)
// i = 3
sum = 119にインデックス番号3の102を足した数がsumの値となる(sum = 221)
i = 3はarray.lengthの5よりも小さいのでiに1が足される(i(3) + 1)
// i = 4
sum = 221にインデックス番号4の88を足した数がsumの値となる(sum = 309)
仮にi = 4に1を足すとi = 5となり
i <= array.length - 1の条件を満たさなくなるのでwhileのループを抜けて繰り返し処理は実行されない。
平均を求めるためには
sum = 309 ÷ array.length(5)を計算すればいいので
System.out.println(sum / array.length) を実行した結果61となる。
(intのため整数部分しか表示されない)