006 繰り返し(for文のネスト) 006 解答例

public class MultiplicationTable {
    public static void main(String[] args) {
        // ネストされたfor文を使用して九九の表を表示
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                // 掛け算の結果を表示
                System.out.print(i * j + "\t");
            }
            // 1つの行を表示したら改行する
            System.out.println();
        }
    }
}

このプログラムは、外側のfor文で変数iを1から9まで増加させ、内側のfor文で変数jを1から9まで増加させています。各九九の計算結果をSystem.out.print(i * j + "\t");で表示し、1つの行が終わるごとにSystem.out.println();で改行しています。"\t"はタブ文字で、列を整列させるために使用しています。

for文のネスト

「for文のネスト」は、1つのfor文の中に別のfor文がネスト(巣立て)される構造を指します。これは、複雑な制御構造やパターンを生成するのに役立ちます。以下は、for文のネストに関する基本的な解説です。

ネストされたfor文の基本構造:

for (初期化式1; 条件式1; 更新式1) {
    // 外側のループのブロック
    for (初期化式2; 条件式2; 更新式2) {
        // 内側のループのブロック
        // ネストされたfor文の中で行いたい処理
    }
}
  1. 外側のループ (for (初期化式1; 条件式1; 更新式1) { ... }): 外側のfor文は、内側のfor文を囲む役割を担います。外側のループが1回実行されるごとに、内側のループが複数回実行されます。
  2. 内側のループ (for (初期化式2; 条件式2; 更新式2) { ... }): 内側のfor文は、外側のループの1回の実行に対して複数回実行されます。外側のループが進むごとに内側のループがリセットされます。
  3. ネストされたfor文の中で行いたい処理:
    • ネストされたfor文の中で、外側のループ変数や内側のループ変数を使用して処理を行います。外側のループ変数は外側のfor文で、内側のループ変数は内側のfor文で使用されます。

例: 九九の表を表示するプログラム

public class MultiplicationTable {
    public static void main(String[] args) {
        // ネストされたfor文を使用して九九の表を表示
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= 9; j++) {
                // 掛け算の結果を表示
                System.out.print(i * j + "\t");
            }
            // 1つの行を表示したら改行する
            System.out.println();
        }
    }
}

このプログラムでは、外側のfor文が1から9までのiを取り、内側のfor文が1から9までのjを取ります。各九九の計算結果をSystem.out.print(i * j + "\t");で表示し、1つの行が終わるごとにSystem.out.println();で改行しています。

「006 繰り返し」問題集リスト