好怪的一个问题呀,为什么没有问题却越界了呢?
public void initLayer(int layerIndex){
TiledLayer layer = null;
layer = getGroundLayer();
System.out.println("*********tiledlayer : Width = "+layer.getColumns()+" Height =="+layer.getRows()); //输出Width = 8 Height ==7
for(int i = 0;i <MAP_ROWS;i++) // here MAP_ROWS = 7
{
for(int j = 0;j<MAP_COLS;j++){ //HERE MAP_COLS = 8
layer.setCell(j,i,tiles[layerIndex][i][j]);
// HERE tiles[][][] 是一个三维数组; 3*7*8 的 且存满了一些值 ,这里的layerIndex = 0
System.out.println("##################### ------------j = "+j);
}
System.out.println("*********** i = ********* "+i);
}
}
错误:Uncaught exception java/lang/NullPointerException.
输出:
.
.
.
.
*********** i = ********* 4
##################### ------------j = 0
##################### ------------j = 1
##################### ------------j = 2
##################### ------------j = 3
##################### ------------j = 4
##################### ------------j = 5
##################### ------------j = 6
##################### ------------j = 7
*********** i = ********* 5
##################### ------------j = 0
##################### ------------j = 1
##################### ------------j = 2
##################### ------------j = 3
##################### ------------j = 4
Uncaught exception java/lang/IndexOutOfBoundsException.
就是在i = 6,j = 5这个时候抛出了异常;
为什么,希望高手帮我分析一下,谢谢!!!!