这是我的代码
class GameOfLife {
public static void main(String[] args) {
int height = 0;
int width = 0;
int [][][] universe = new int [2][20][20];
for (height=0; height <= 5; height ++){
for (width=0; width <= 5; width++){
universe [2][height][width]= 0;
}
}
System.out.print(universe[2][2][3]);
}
}
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:2 在test.GameOfLife.main(gameOfLife.java:10)
答案 0 :(得分:1)
定义Universe时
int [][][] universe = new int [2][20][20];
它有两个点,索引0和索引1.你应该做
int depth;
for (depth=0; depth < universe.length; depth ++) {
for (height=0; height < universe[depth].length; height ++){
for (width=0; width < universe[depth][height].length; width++){
universe [depth][height][width]= 0;
}
}
}
答案 1 :(得分:1)
答案 2 :(得分:1)
大小为2
的数组的最大索引为1
int [][][] universe = new int [2][20][20]
^
因此,System.out.print(universe[2][2][3]);
正在投掷ArrayIndexOutOfBoundException
答案 3 :(得分:0)
如果要访问Universe [2] [] [],则必须使用
进行定义int [][][] universe = new int[3][20][20];
指针从'0'开始。