gpt4 book ai didi

java - 线程中的异常 "AWT-EventQueue-0"java.lang.ArrayIndexOutOfBoundsException : 10

转载 作者:行者123 更新时间:2023-12-02 07:05:32 25 4
gpt4 key购买 nike

我正在制作一个扫雷器,使用递归方法打开与 block “0”相邻的所有图 block 。

一切都很顺利,直到我得到标题中提到的异常。异常在 if(removalList[num1][num2] == 1){return;} 处触发,但请确保将删除列表中的所有初始值设置为零。 (供您引用,1 表示该项目已添加到 removalList 以便稍后删除)。

我还通过执行 if(num1 > gameWidth || num2 > gameHeight || num1 < 0 || num2 < 0){return;}. (gameHeight and width are both 10) 检查它是否在范围内。 ,但由于某种原因它认为它超出了范围。

感谢您的帮助!

private void function(int c5, int r5)
{
int num1 = c5;
int num2 = r5;

if(num1 > gameWidth || num2 > gameHeight || num1 < 0 || num2 < 0)
{
return;
}
if(removalList[num1][num2] == 1)
{
return;
}
if(blocks[num1][num2] == 0)
{
System.out.println("Added (" + num1 + ", " + num2 + ") to removal list.");
removalList[num1][num2] = 1;

function(num1-1, num2);
function(num1, num2-1);
function(num1+1, num2);
function(num1, num2+1);

}
else if(blocks[num1][num2] > 0 && blocks[num1][num2] < 9)
{
removalList[num1][num2] = 1;
return;
}
else
{
return;
}
}

最佳答案

没有看到更多代码,特别是 removalList 的声明,我只能猜测。我的猜测是,removalList 具有 gameWidth * gameHeight 元素。因此索引从 0gameWidth - 1 以及从 0gameHeight - 1。您的检查允许索引最大为 gameWidthgameHeight,这会导致您收到异常。

关于java - 线程中的异常 "AWT-EventQueue-0"java.lang.ArrayIndexOutOfBoundsException : 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16161959/

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