gpt4 book ai didi

java - ArrayIndexOutOfBounds,不明白为什么?

转载 作者:行者123 更新时间:2023-12-02 06:11:00 26 4
gpt4 key购买 nike

我写了这个方法:

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;
}

当我在 Android 应用程序中使用 int[454][454] 数组调用它时,它在 Logcat 中这样说:

Caused by: java.lang.ArrayIndexOutOfBoundsException: length=452; index=452

指向这行matrixToBitmap方法:

     if(slika[x][y] < 128)

有人能弄清楚为什么会发生这种情况吗? wh 的值变为 454 和 454,正如它们应该的那样。

最佳答案

错误在这里:

int w = slika[0].length;
int h = slika[1].length;

发生的事情是,您将数组中第一行的长度设置为 w,将第二行的长度设置为 h

要使其正常工作,请将其更改为:

int w = slika.length;
int h = slika[0].length;

关于java - ArrayIndexOutOfBounds,不明白为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21883822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com