0
我一直有這個問題的是,它說java.lang.ArrayIndexOutOfBoundsException:165ArrayIndexOutOfBoundsException異常當數組索引我問不出去界限
165是它實際上應該包含值的數量。
我試着改變整數數組的長度爲一個更大的數字,但它保持 給我的錯誤,它是一個更大的數字。
我都打印出來,看看也許問題是我的for循環, 但一切似乎罰款(不165個陣列,正確的數字在其中)
我無法看到問題的所在。
public int[][] getTilePositionsIn(int pixelLeft, int pixelBottom, int pixelRight, int pixelTop){
int starterTileX = pixelLeft/getTileLength();
if (starterTileX < 0)
starterTileX = 0;
System.out.println(starterTileX);
int starterTileY = pixelBottom/getTileLength();
if (starterTileY < 0)
starterTileY = 0;
System.out.println(starterTileY);
int tileLength = getTileLength();
int blockWidth = pixelRight - pixelLeft + 1;
int widthInTiles = blockWidth/tileLength +1;
int blockHeight = pixelTop - pixelBottom + 1;
int heightInTiles = blockHeight/tileLength +1;
int numberOfTiles = widthInTiles * heightInTiles;
System.out.println(widthInTiles);
System.out.println(heightInTiles);
System.out.println(numberOfTiles);
int[][] tiles = new int[numberOfTiles][2];
for (int y = 0; y <= heightInTiles; y++) {
for (int x = 0; x <= widthInTiles; x++) {
int index = y*widthInTiles + x;
System.out.println(index);
tiles[index][0] = x;
tiles[index][1] = y;
System.out.println(Arrays.toString(tiles[index]));
}
}
return tiles;
}