对不起,标题不是很容易理解,但我的英语没有帮助。我是 java 的新程序员,尽管阅读了参数的工作原理,但我并不真正了解发生了什么。
sudokuBoard alter = new sudokuBoard();
this.createRandomSudokuBoard();
alter.setBoardFromArray(this.getBoard().clone());
(...)
for(int i = 0; i < 81; i++) {
alter.clearCell(positionListonX[i], positionListonY[i]); <<<<<<<<<<<<< Here
if(alter.numberOfSolutions(2) < 2) {
this.clearCell(positionListonX[i], positionListonY[i]);
alter.setBoardFromArray(this.getBoard().clone());
} else {
alter.setBoardFromArray(this.getBoard().clone());
}
}
发生的情况是,在指示的行中,调用clearCell
对象的方法alter
也在修改当前对象(this)。在最后一次绝望的尝试中,我尝试使用该clone()
方法解决它(如您所见),但它不起作用。
这是怎么回事?我错过了什么?非常感谢你。