我希望我的程序不断询问问题,直到它得到可以使用的响应,特别是从 0 到 20 的数字。我在这个类上还有很多其他内容,所以这里有一个小摘录,其中执行 - while 是(我已经命名了变量以及所有内容)。
public static void main(String[] args) {
do {
halp = 1;
System.out.println("What level is your fort?");
Scanner sc = new Scanner(System.in);
try {
fortLevel = Integer.parseInt(sc.nextLine());
}
catch(NumberFormatException e){System.out.println("Numbers only, 0-20"); halp = 0;
}
if(halp < 1) {
work = false;
}
if(halp > 1) {
work = true;
}
while(work = false);
}
最佳答案
while(work = false); // here you are assigning false to work
应该是
while(work == false); //here you are checking if work is equal to false
=
用于赋值的赋值运算符==
相等运算符,用于检查两个操作数是否具有相同的值。
由于工作是 boolean 值,您甚至可以使用它:
while(!work)
关于Java do-while 循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14044591/