我寫這個方法:ArrayIndexOutOfBounds,不知道爲什麼?
public static Bitmap matrixToBitmap(int[][] slika)
{
int w = slika[0].length;
int h = slika[1].length;
Bitmap into = Bitmap.createBitmap(w, h, Config.ARGB_8888);
for (int x = 0; x < w; x++)
{
for (int y = 0; y < h; y++)
{
if(slika[x][y] < 128)
into.setPixel(x, y, Color.BLACK);
else
into.setPixel(x, y, Color.WHITE);
}
}
return into;
}
,當我把它叫做我有int[454][454]
陣列Android應用內,它說這Logcat
:
Caused by: java.lang.ArrayIndexOutOfBoundsException: length=452; index=452
這行matrixToBitmap
方法的指點:
if(slika[x][y] < 128)
有人可以爲什麼會這樣呢? w
和h
的值分別爲454和454,就像它們應該是一樣。
數組索引相對於數組長度的界限是什麼? –
只需要注意一點:你應該使用int w = slika.length;而不是int w = slika [0] .length;'就這樣,'w'和'h'將始終是相同的,即使數組的維度不是。 – jonhopkins
你的'w'應該是'slika.length',而不是'slika [0] .length' – fge