如何使for循环仅通过多维char数组的一个子列表,而没有在线程“ main”中异常java.lang.ArrayIndexOutOfBoundsException错误。
Partial
答案 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]);
}