如何遍历多维数组而不会出现outOfBounds错误

时间:2019-01-25 15:56:55

标签: java arrays multidimensional-array char

如何使for循环仅通过多维char数组的一个子列表,而没有在线程“ main”中异常java.lang.ArrayIndexOutOfBoundsException错误。

Partial

1 个答案:

答案 0 :(得分:1)

您正在使用它来打印 second 子列表的值,因为索引从0开始。由于第二个子列表只有2个项目,因此在第三次迭代时抛出ArrayIndexOutOfBoundsException。

将其更改为此,它将起作用:

System.out.println(letters[0][i]);

编辑:从您的评论中我了解到,您不仅要对第一个子列表也要对它们中的任何一个做同样的事情。这里重要的是,在两次提到letter[x]时x都必须相同。因此,您可以为此使用变量。

int sublistIndex = 0; // choose any index  (0-based) to define which sublist
char[][] letters = {{'a','e','i','o','u','l','n','s','t','r'},{'d','g'},
       {'b','c','m','p'},{'f','h','v','w','y'},{'k'},{'j','x','q','z'}};
for(int i= 0; i < letters[sublistIndex].length; i ++)
{
   System.out.println(letters[sublistIndex][i]);
}