这是什么以及如何在数组D [i] .length中

时间:2013-12-03 03:08:54

标签: java arrays

我有一个字符串数组。在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;
      }

1 个答案:

答案 0 :(得分:0)

循环中的

j++表示j每次迭代增加1。由于您的停止条件为< D.lengthj永远不会达到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