gpt4 book ai didi

java - 如果 boolean == false 则重新启动 while 循环

转载 作者:行者123 更新时间:2023-12-01 19:46:24 26 4
gpt4 key购买 nike

我试图通过制作数独谜题来提高java水平,但是我遇到了一些问题。就目前而言,如果我在数独中输入任何“非法”输入,它就会继续,但如果它是“非法”,我会尝试让脚本再次请求一个值。如下代码所示,当我的公共(public) boolean “moves”为 false 时,我尝试再次启动 while 循环。

public static void main(String[] args) throws Exception  {
Sudoku s = new Sudoku("C:\\Users\\caspe\\Downloads\\Sudoku001.sdk");
s.printBoard();
s.errorCheck();
s.getNum();

while(getNum() > 0) {
System.out.println("Next move, please (row , column , value )");
Scanner scanner = new Scanner(System.in);
int row = scanner.nextInt();
int column = scanner.nextInt() ;
int value = scanner.nextInt();
if (s.moves(row, column, value) == false); {
//Try again
}

s.printBoard();
}
}

经过多次尝试后我仍然无法找到解决方案,因此非常感谢您的帮助!

这是我的 getNum 方法,用于进一步理解:

public static int getNum() {
int getNumb = 0;
for(int j = 0; j < list.size(); j++) {
for (int i=0; i < list.get(j).length(); i++) {
if(list.get(i).charAt(j) == '.') {
getNumb++;
}
}
}
return getNumb;
}

最佳答案

无论 s.move 是 true 还是 false,您编写代码的方式都会打印数独板。解决这个问题的方法是在 if 语句中添加 else 语句。

例如:

if(s.moves(row, column, value) == false){
//print error message
}else {
s.printBoard();
}

关于java - 如果 boolean == false 则重新启动 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53158107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com