我有一个数独解题方法的问题。程序的运行方式是这样的:当程序开始时,棋盘是空的,用户向棋盘中添加一些数字,然后通过点击“解决”按钮,程序会尝试解决它。除了将相同的数字放在同一行之外,一切都运作良好。因此,如果用户添加1,1,0,0 ... 0,那么在谜题中它就无法解决,因为它有两个相邻的1,并且会一直尝试找到解决方案,即使它是一个不可解的谜题。但是,如果它们都是0(空),它会立即解决,就像我把1和2放在左上角一样。如果我只是随便放一些数字,它会检测出它是不可解的(或者如果它是一个有效的谜题,则会解决它)。
我想说的是,当
这是我尝试在解决方法中添加的代码,显然没有成功。
我想说的是,当
theNumber == (row,col) equals thenNumber == (row+1,col)
时,应该返回false,因为这是重复的数字。这是我尝试在解决方法中添加的代码,显然没有成功。
if ((puzzle.getNum(row, col) == a) == (puzzle.getNum(row + 1, col) == a)) {
return false;
}
非常感谢您的帮助