我有一个字符串数组。在j
下的嵌套循环中,我有j < D[i].length
。我确实得到数组大小为6,但j
如何等于6?在第一次初始开始时i = 0所以我将其视为j < D[0].length
。有人可以帮我理解j
6
的分配方式吗?
String [][] D = new String[5][6];
for (int i = 0; i < D.length; i++) //Loads the array with o's to all indexes
{
for (int j = 0; j < D[i].length; j++)
{
D[i][j] = o;
}
答案 0 :(得分:0)
j++
表示j
每次迭代增加1。由于您的停止条件为< D.length
,j
永远不会达到6
,因为6是D.length
,而循环只会在j < D.length
时迭代。 j
的最高数量为5
。
还记得数组索引从0开始,因此访问index 5 (j = 5)
实际上是访问数组中的第6个值。
声明这样的数组String [][] D = new String[6][6];
并不意味着你可以访问索引6,它只是数组的大小available indices being 0,1,2,3,4,5
。
String[][]D = new String[6][6]
0,0 0,1 0,2 0,3 0,4 0,5
1,0 1,1 1,2 1,3 1,4 1,5
2,0 2,1 2,2 2,3 2,4 2,5
3,0 3,1 3,2 3,3 3,4 3,5
4,0 4,1 4,2 4,3 4,4 4,5
5,0 5,1 5,2 5,3 5,4 5,5
您可以看到2D数组有6行6列,但您可以访问的最大索引是5,5
编辑:使用OP编辑
String[][]D = new String[5][6]
0,0 0,1 0,2 0,3 0,4 0,5
1,0 1,1 1,2 1,3 1,4 1,5
2,0 2,1 2,2 2,3 2,4 2,5
3,0 3,1 3,2 3,3 3,4 3,5
4,0 4,1 4,2 4,3 4,4 4,5