0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

1次元配列の足し算をして、平均を求める

Last updated at Posted at 2024-10-12
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のため整数部分しか表示されない)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?