Arrays 在二维字符数组上迭代
我对某段代码有一个非常奇怪的问题:Arrays 在二维字符数组上迭代,arrays,exception,iteration,Arrays,Exception,Iteration,我对某段代码有一个非常奇怪的问题: for(int r = 0; r<look[0].length; r++){ for(int cl = 0; cl<look.length; cl++ ){ placeChar(xI+cl, yI+r, look[cl][r]); // <-- ArrayIndexoOutOfBoundsException } } 对于(int r=0;r您需要颠倒循环的顺序: for(int cl = 0; cl<look.len
for(int r = 0; r<look[0].length; r++){
for(int cl = 0; cl<look.length; cl++ ){
placeChar(xI+cl, yI+r, look[cl][r]); // <-- ArrayIndexoOutOfBoundsException
}
}
对于(int r=0;r您需要颠倒循环的顺序:
for(int cl = 0; cl<look.length; cl++ ){
for(int r = 0; r<look[cl].length; r++){
placeChar(xI+cl, yI+r, look[cl][r]);
}
}
(int cl=0;cl如果我理解正确,你应该
- 更改迭代器的顺序
- 使用
look[cl]。length
代替look[0]。length
守则:
for(int cl = 0; cl<look.length; cl++ ){
for(int r = 0; r<look[cl].length; r++){
placeChar(xI+cl, yI+r, look[cl][r]);
}
}
for(int cl=0;cl