Java 如果布尔值==false,则重新启动while循环
我试图通过制作数独游戏来提高java的水平,但是我遇到了一些问题。就目前的情况而言,如果我在数独中输入任何“非法”的内容,它就会继续,但如果它是“非法”的,我会尝试让脚本再次请求一个值。如下面代码所示,当我的公共布尔“moves”为false时,我将再次尝试启动while循环Java 如果布尔值==false,则重新启动while循环,java,while-loop,boolean,Java,While Loop,Boolean,我试图通过制作数独游戏来提高java的水平,但是我遇到了一些问题。就目前的情况而言,如果我在数独中输入任何“非法”的内容,它就会继续,但如果它是“非法”的,我会尝试让脚本再次请求一个值。如下面代码所示,当我的公共布尔“moves”为false时,我将再次尝试启动while循环 public static void main(String[] args) throws Exception { Sudoku s = new Sudoku("C:\\Users\\caspe\\Downloa
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;
}
publicstaticintgetnum(){
int getNumb=0;
对于(int j=0;j
按照您编写代码的方式,无论s.move是真是假,它都将打印数独板。解决这个问题的方法是在if语句中添加else语句
例如:
if(s.moves(row, column, value) == false){
//print error message
}else {
s.printBoard();
}
按照你编写代码的方式,无论s.move是真是假,它都会打印数独板。解决这个问题的方法是在if语句中添加else语句 例如:
if(s.moves(row, column, value) == false){
//print error message
}else {
s.printBoard();
}
你能分享getNum方法吗?它做什么?您可以使用continue再次重做循环。如果我只使用continue,我的“printBoard”将无法访问。什么是
列表
变量?您在该列表中存储了什么类型的对象?您可以共享getNum方法吗?它做什么?您可以使用continue再次重做循环。如果我只使用continue,我的“printBoard”将无法访问。什么是列表
变量?你在列表中存储了什么样的对象?我可以发誓我试过那种解决方案。。不过谢谢!我可以发誓我试过那种方法。。不过谢谢!