セクション 4. 章 5
single
二次元配列の反復処理
メニューを表示するにはスワイプしてください
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に到達したら、外側の配列に戻り、次の行(1行目)に移動。例: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つを試してチャットを始めてください