我正在研究数独求解器,并且求解方法给出了一个错误,我已经通过 try and 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++
. 当 时y > 8
,程序应该完成,因为所有 81 (9x9) 个单元格都已填满。
我正在考虑将 try/catch 方法更改为一个简单的方法
if((i > 8) && (j > 8)){
return true;
}
但这也给了我一堆错误。
我确信修复非常简单,但在概念上很重要。