3 回答

TA貢獻1862條經驗 獲得超6個贊
因為 Java 中0的數組是索引的,所以數組的長度不是有效的索引。因此,您應該在 for 循環中使用<而不是<=:
for (int j = 0; j < y; j++) {
for (int l = 0; l < x; l++) {
System.out.println("j: " + j + " l: " + l);
map[j][l] = 1;
}
}

TA貢獻1824條經驗 獲得超6個贊
從兩個循環中刪除等于
int y = 5;
int x = 4;
int[][] map = new int[y][x];
for (int j = 0; j < y; j++) {
for (int l = 0; l < x; l++) {
System.out.println("j: " + j + " l: " + l);
map[j][l] = 1;
}
}
沒有第 5 列,因為它的大小是 5。所以索引像 0、1、2、3、4。第 4 行也是如此。由于該大小為 4,因此索引將變為 0、1、2、3

TA貢獻1798條經驗 獲得超7個贊
在java中,數組索引是從0
到length-1
。
所以,在你的情況下, from 0
toy-1 = 4
和 from 0
to x-1 = 3
。你的輸出似乎完全沒問題。的第一個值j
應該是 0。 有 5 個不同的值j
, 有 4 個不同的值l
。
改回<=
以<
在for循環。(這部分導致錯誤:l
不能從0
到4
,只能從0
到3
)
添加回答
舉報