数组越界

时间:2016-01-31 17:56:00

标签: java arrays

“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:15” 是运行我的代码时得到的错误消息,我假设它试图使用一个大于数组的数字或沿着这些行的东西;继承我的代码:

public class TileGrid {

public Tile[][] map;

public TileGrid(){
    map = new Tile[20][15];
    for(int i=0; i<map.length; i++){
        for(int j=0; j<map[i].length; j++){
            map[i][j]=new Tile(i*64, j*64, 64, 64, TileType.grass);
        }
    }
}
public void Draw(){
    for(int i=0; i<map.length;i++){
        for(int j=0; i<map[i].length;j++){
            Tile t = map[i][j];
            DrawQuadTex(t.getTexture(), t.getX(), t.getY(), t.getWidth(), t.getHeight());

        }
    }
}

我的代码是多个类,如果需要我也会粘贴

2 个答案:

答案 0 :(得分:0)

你的循环被破坏了。您错误地拥有i < map[i].lengthi此处应为j

for(int i=0; i<map.length;i++){
    for(int j=0; j < map[i].length; j++){

答案 1 :(得分:0)

尝试将i<map[i]替换为j<map[i],如下所示:

  for(int j=0; j<map[i].length;j++){

  for(int j=0; i<map[i].length;j++){

您使用了错误的索引。