我的数独求解方法有问题。该程序是这样工作的;板子在启动时是空的,用户在板上添加了几个数字,然后通过点击求解按钮,程序会尝试解决它。除了我将相同的数字放在同一行之外,一切正常。因此,如果用户添加 1,1,0,0 ... 0。在拼图中它无法解决它,因为它的两个 1 彼此相邻,并且将永远继续试图找到一个 sulition,即使它无法解决谜。但是,如果它们都是 0(空),它会立即解决它,就像 Id 将 1 和 2 放在左上角一样。如果我只是在其中放入一些随机数,它将检测为无法解决(或者如果它是一个有效的谜题将解决它)
我正在考虑说, when theNumber == (row, col) equals thenNumber == (row+1, col)
,它应该return false
是因为它是一个重复的数字。
这是我尝试在solve方法中添加的代码,显然没有成功。
if ((puzzle.getNum(row, col) == a) == (puzzle.getNum(row + 1, col) == a)) {
return false;
}
非常感谢帮助