修复!谢谢大家!
好的,所以我不确定为什么这会给我一个ArrayIndexOutOfBoundsException ..
al是一个具有以下值的arraylist:
2,6,m
1,7,w
5,3,c
0,4,w
1,6,w
2,3,w
1,5,w
这是我尝试获取每个arraylist索引的地方,将其拆分为:row,col,letter。 据说temp [2]是不合时宜的。为什么?我的意思是分裂方法应该分为3个部分,0,1和2.那么为什么2给我适合。我运行了一些测试,它还为temp [0]和temp [1]调用提供了outofbounds。
for (int i = 0; i < al.size(); i++) {
String[] temp = al.get(i).toString().split(",");
System.out.println(temp.length);
System.out.println(temp[1]);
if (temp[2].equals("m")) {
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].setIcon(mousetile);
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].putClientProperty("mouse", true);
}
if (temp[2].equals("c")) {
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].setIcon(cheesetile);
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].putClientProperty("cheese", true);
}
if (temp[2].equals("w")) {
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].setIcon(metalwall);
boardTiles[Integer.parseInt(temp[0])][Integer.parseInt(temp[1])].putClientProperty("wall", true);
}
}
我使用String []和split方法有什么不对吗? 谢谢, -Austin
编辑:
我刚刚在arraylist上运行了一个for循环,所有值都在那里。
boardTiles [x] [x]是JButton的二维数组。
索引发生异常:1。
.length显示为1。
答案 0 :(得分:2)
boardTiles
可能没有输入数组中定义的某些值的大小。
答案 1 :(得分:0)
执行al.get(i)的打印并仔细检查它是否确实是逗号分隔的值字符串。