2次元配列の拡張 for
出力はどれか。
public class Main {
public static void main(String[] args) {
int[][] m = {{1, 2}, {3}, {4, 5, 6}};
int total = 0;
for (int[] row : m) {
for (int v : row) {
total += v;
}
}
System.out.println(total);
}
}
- A
21 - B
6 - C
15 - D コンパイルエラーになる
正解と解説を見る
正解: A
- A: すべての行のすべての要素を足すので、1+2+3+4+5+6 = 21 です。
- B: 3行目 {4, 5, 6} も足されます。
- C: 外側のループは3行すべてを回ります。
- D: 2次元配列の拡張 for では、外側の変数を
int[]で受け取ります。
ポイント
- 2次元配列の拡張 for では、外側の変数は
int[](1行分の配列) になります。
「繰り返し文 (do/while、while、for 文および拡張 for 文) の使用」をこのサイトで解く (記録・間違えた問題の解き直し・AI教師への質問)