我在完成任务时遇到了一些麻烦,并且想知道是否有人可以指出我正确的方向。该项目是八个皇后任务,我需要使用递归来创建一个程序,找到一个解决方案,其中8个皇后可以放在板上而不会互相攻击。
我的输出不断返回这样的内容:
false, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
true, false, false, false, false, false, false, false,
这不是有效的解决方案。这是我到目前为止的checkVertical代码。
public static boolean checkVerticals(boolean[][] board){
for (int i=0; i<board.length;i++){
int count = 0;
for (int j=0; j<board.length;j++){
if (board[j][i] = true)
count++;
}
if (count > 1) {
return false;
}
}
return true;
}
答案 0 :(得分:0)
我明白了。
if (board[j][i] = true)
应为if (board[j][i] == true)