2次元配列と入れ子ループ
CoddyのJavaジャーニー「ロジックとフロー」セクションの一部 — レッスン 3/59。
2次元配列を扱う際には、各行と各列を反復処理するために入れ子ループを使用することが一般的です。これにより、配列のすべての要素にアクセスまたは変更することができます。
2次元配列のためのネストされたループの典型的な構造は以下の通りです:
for (int i = 0; i < array.length; i++) {
// 外側のループは行をイテレートします
for (int j = 0; j < array[i].length; j++) {
// 内側のループは列をイテレートします
// array[i][j] にアクセスまたは変更します
}
}外側のループは行をイテレートし、内側のループは各行の列をイテレートします。この方法で、array[i][j] を使用して 2 次元配列の各要素にアクセスできます。
チャレンジ
簡単引数として整数型の2次元配列を受け取り、その要素をマトリックス形式で出力するprintMatrixという名前のメソッドを作成してください。配列の行と列をイテレートするためにネストしたループを使用してください。
チートシート
2次元配列を走査するには入れ子ループを使用します。外側のループで行を、内側のループで列を走査します:
for (int i = 0; i < array.length; i++) {
// 外側のループで行を反復します
for (int j = 0; j < array[i].length; j++) {
// 内側のループで列を反復します
// array[i][j] にアクセスまたは変更します
}
}各要素は array[i][j] を使用してアクセスします。ここで i は行インデックス、j は列インデックスです。
自分で試してみよう
// クラス内にのみコードを書いてください。main() やこのクラス外のコードは記述しないでください。
class PrintMatrix {
public static void printMatrix(int[][] matrix) {
// ここにコードを書いてください
}
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。