セクション 4. 章 5
single
二次元配列の反復処理
メニューを表示するにはスワイプしてください
forループを使用した二次元配列内の反復方法
二次元配列の反復処理は、最初は少し難しく感じる場合があるため、すぐに理解できなくても心配ありません。この章では、その方法を示し、仕組みを説明します。
ネストされたループを使用して二次元配列を反復します。つまり、ループの中にもう一つループを入れる形です。外側のループは行を反復し、内側のループは列を反復します。 前の章で作成した例の配列を使って、二次元配列をforループで反復する構文を確認しましょう。
Main.java
12345678910111213141516package com.example; public class Main { public static void main(String[] args) { int[][] twoDimensionalArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16} }; for (int i = 0; i < twoDimensionalArray.length; i++) { for (int j = 0; j < twoDimensionalArray[0].length; j++) { System.out.print(twoDimensionalArray[i][j] + " "); } System.out.println(); } } }
上記のコードスニペット内の各要素の意味について詳しく見ていきます:
int[][] twoDimensionalArray =:この行は二次元配列の初期化;for (int i = 0; i < twoDimensionalArray.length; i++):最初のforループは、行列の行を反復処理。最初の行にいる間、プログラムはネストされたループに入るが、外側のループには影響しない。変数iは現在の行番号を表す;for (int j = 0; j < twoDimensionalArray[0].length; j++):2番目のforループは、行列の列を反復処理。0行目にいる間、その行の列を順に処理。変数jは現在の列番号を表す;System.out.print(twoDimensionalArray[i][j] + " "):この行では、System.out.printを使って値を1行で表示。動作例:0行目にいる間、その行の列を順に処理。例えば、array[0][1]、次にarray[0][2]のように進む。jがarray[0].length未満の間、列を進み続ける。array[0].lengthに達したら外側の配列に戻り、次の行に移動。例えば、array[0][3] -> array[1][0]のように進む。境界に到達した後、行1に移る。
タスク
スワイプしてコーディングを開始
複数の観測所からのデータに基づいて、各曜日の平均気温を計算します。
与えられているデータ:
- Station 1:
{20, 22, 24, 19, 21, 23, 25} - Station 2:
{18, 20, 22, 19, 20, 22, 24} - Station 3:
{21, 23, 25, 22, 24, 26, 28} - Station 4:
{19, 21, 23, 20, 22, 24, 26}
課題:
calculateDailyAverages(int[][] temperatures)というメソッドを作成し、double[]を返すようにします。- このメソッド内で:
- 各曜日(2次元配列の列)をループ処理します。
- 各曜日ごとに、合計気温を格納する
totalTempを初期化します。 - 内側のループで、すべての観測所(行)を処理します。
- 現在の曜日における各観測所の気温を合計します。
- 合計を観測所の数で割り、平均値を算出します。
- 結果を配列に格納します。
- 平均値の配列を返します。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 5
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください