【Java SE17 Silver 模擬試験】A-26

Java SE17 Silver 模擬試験
Java SE17 Silver 模擬試験

問題

次のコード断片を実行し、6が出力される時の i と j の値はどうなりますか。

int[][] arrays = { { 1, 2, 3 }, { 4, 5, 6, 7 } };
for (int i = 0; i < arrays.length; i++) {
	for (int j = 0; j < arrays[i].length; j++) {
		System.out.print(arrays[i][j]);
	}
}

選択肢

A)i = 1, j = 4

B)i = 1, j = 2

C)i = 1, j = 1

D)i = 0, j = 1

E)i = 0, j = 2

F)i = 1, j = 3

G)i = 0, j = 3

解答

A)i = 1, j = 4

B)i = 1, j = 2

C)i = 1, j = 1

D)i = 0, j = 1

E)i = 0, j = 2

F)i = 1, j = 3

G)i = 0, j = 3

解説

int[][] arrays = { { 1, 2, 3 }, { 4, 5, 6, 7 } };

設問の多次元配列は、{ 1, 2, 3 }の要素がある0番目と、{ 4, 5, 6, 7 }の要素がある1番目があります。
6を出力したい場合、6が格納されている1番目を指定します。( i = 1 )
1番目には、{ 4, 5, 6, 7 }の要素があるため、2番目を指定する必要があります。( j = 2 )
このコード断片で、6 が出力される時の ij の値は次の通りです。

  1. 配列 arrays は2次元配列で、以下の要素を持っています:
    • arrays[0] = {1, 2, 3}
    • arrays[1] = {4, 5, 6, 7}
  2. 外側のループでは i0 から arrays.length の値(2)未満の間で繰り返されます。つまり、i0 から 1 までの2回繰り返されます。
  3. 内側のループでは j0 から arrays[i].length の値まで繰り返されます。
  • i = 0 のとき、arrays[0] の長さは 3 なので、j0 から 2 まで繰り返されます。この場合、出力される値は 1, 2, 3 です。
  • i = 1 のとき、arrays[1] の長さは 4 なので、j0 から 3 まで繰り返されます。この場合、出力される値は 4, 5, 6, 7 です。
  1. 6 が出力されるのは、i = 1 かつ j = 2 のときです。

結論

正しい選択肢は B)i = 1, j = 2 です。

前の問題へ SE17_A-25

次の問題へ SE17_A-27


対象資格:Java SE17 認定資格