Java ArrayIndexOutOfBoundsException,仅打印第一行
我正在用Java制作一个地下城游戏。我创建了一个将地图存储在二维数组中的方法。该数组如下所示:Java ArrayIndexOutOfBoundsException,仅打印第一行,java,arrays,printing,multidimensional-array,indexoutofboundsexception,Java,Arrays,Printing,Multidimensional Array,Indexoutofboundsexception,我正在用Java制作一个地下城游戏。我创建了一个将地图存储在二维数组中的方法。该数组如下所示: [[#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #], [#, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., #], [#, ., ., ., ., ., ., G, ., ., ., ., ., ., ., ., E, ., #], [#, ., ., ., ., ., ., .,
[[#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #],
[#, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., #],
[#, ., ., ., ., ., ., G, ., ., ., ., ., ., ., ., E, ., #],
[#, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., #],
[#, ., ., E, ., ., ., ., ., ., ., ., ., ., ., ., ., ., #],
[#, ., ., ., ., ., ., ., ., ., ., G, ., ., ., ., ., ., #],
[#, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., #],
[#, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., #],
[#, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #, #]]
我现在正在尝试编写一个函数,以便在游戏中打印地图。到目前为止,我得出了以下结论:
public void printMap(char[][] map) {
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; i++) {
System.out.print(map[i][j]);
}
}
}
为什么我会收到这个错误消息?我将来如何预防它呢?for(int j=0;jfor(int j=0; j < world[i].length; i++){
// ^ ^ ^
// J J I <- No! Bad dog :-)
// ^ ^ ^
//J J I您在J循环中增加I而不是J。然而,我不明白的是,为什么它只在一行之后就会崩溃。我假设您的第一个数组中有不止一个项,不是吗?您在嵌套for循环中增加I而不是J:
for(int j=0; j < world[i].length; i++){
System.out.print(world[i][j]);
}
for(int j=0;j
改为:
for(int j=0; j < world[i].length; j++){
System.out.print(world[i][j]);
}
for(int j=0;j
你认为这个错误是什么意思?@JonathonReinhart不要读博客,写一篇吧!沮丧缓解。
for(int j=0; j < world[i].length; j++){
System.out.print(world[i][j]);
}