我正在研究一个数独求解器,并且solve-method给出了一个错误,我暂时用一个try和catch异常“解决了”。删除try/catch异常
但是,我有点担心,我正在抓住ArrayIndexOutOfBoundsException
。我只想修复错误,而不是将其隐藏在try/catch异常中。
这是try/catch语句的样子:
try {
if (puzzle.getNum(i, j) != puzzle.blank)
return solve(nexti, nextj);
} catch (ArrayIndexOutOfBoundsException e) {
return true;
}
我在想,既然我已经得到的信息时x > 8
是时候改变行,从而导致y++
。当所有81个(9x9)单元格都被填满时,应该完成该程序。
我想围绕改变的try/catch方法简单
if((i > 8) && (j > 8)){
return true;
}
的线,但是这给了我一堆错误也是如此。
我确定修复非常简单,但在概念上很重要。
什么是抛出界外例外(我没有看到任何数组访问继续)? – Daedalus 2013-03-20 14:58:57
是我的行数? – ITroubs 2013-03-20 14:59:47
可以通过改变你提出的if条件来使它工作吗?而不是&&? – jmrodrigg 2013-03-20 15:01:27