2017-03-16 17 views
0

私は、この配列がどのように機能するかといくつかの助けが必要です:このアレイからデータを出力できないのはなぜですか?

String[][] stringz = new String[5][4]; 
    System.out.println(stringz[x][y]); 

私はstringz[1][3]を使用して出力をしようとすると、私はヌルデータ出力を持っています。

stringz[0][3]を使用して出力しようとすると、null出力も出力されます。

配列のインデックスは、で始まることがわかりました。

だから私はまた、出力に[0][4]

内のデータが、Javaのコンパイルは私にエラーを示していたいですか?どうして?私は5つのデータボックス(5-1)=インデックス#4は最後にする必要がありますか?

+2

あなたの宣言が 'stringz'の場合、使用できる最大のインデックスは[4] [3]です。 2番目の索引に3より大きい数字を使用して、この制約に違反しています。 –

+0

ありがとう、私はちょうど1array型と多次元型と混同しています。 – Ess

+1

明快にするために、配列が 'new String [m] [n]'で初期化されている場合、この配列の最大のインデックスは 'array [m-1] [n-1]'になります。 –

答えて

3

2次元配列のインデックスは以下のとおりです。

0,0__0,1__0,2__0,3

1,0__1,1__1,2__1,3

2,0__2,1__2,2__2,3

3,0__3,1__3,2__3 、3

4,0__4,1__4,2__4,3

だから、あなたはあなたの第二の次元で第四のインデックスを持っていません。

関連する問題