繰り返し文について深く理解するために、今日の問題に挑戦しましょう。
問題
次のプログラムを実行した場合の出力はどれでしょうか?正しい選択肢を選んでください。
public class LoopExample {
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 3; i++) {
for (int j = 3; j > 0; j--) {
if (j == i) {
continue;
}
count++;
}
}
System.out.println("Count: " + count);
}
}
選択肢
- A. Count: 5
- B. Count: 6
- C. Count: 7
- D. Count: 8
答えと解説
回答を見る
答え
B. Count: 6
解説
解説のポイント:
- ネストされたループの理解
- continue文の役割と動作
このプログラムでは、外側のfor
ループはi
が0から2までの3回繰り返されます。
内側のfor
ループはj
が3から1まで逆順に繰り返されます。このため、j
の範囲は3, 2, 1になります。
内側のループ内でcontinue
が働くのは、j
とi
が等しい場合です。
具体的なループの流れとしては、例えばi = 0のときj = 3, 2, 1
で全てcount
が増加しますが、i = 1のときj = 2
がスキップされます。
結果、各ループの増加回数は、3(i = 0の時)+2(i = 1の時)+1(i = 2の時)となり、合計で6
になるため、正しい答えはBになります。