这是一个数独求解器,每个方块都有这个方法。我的想法是,如果此方法的一个实例通过循环而没有找到任何有效值,它将返回到调用它的上一个方法并继续循环 - 尝试来自 for 循环的下一个值。我希望这足以回溯,但我所有的测试都失败了,我完全不知道如何解决这个问题。/end noob-lament
public boolean recursive() {
for(int i = 1; i <= boardSize; i++) {
if(!validValue(i)) {
continue;
} else {
setValue(i);
if(getNext() == null) // This signifies that I am at the end of the list
return true;
else
getNext().recursive(); // same method in the next sudoku square
}
}
return false;
}