Java do-while 循环不起作用

标签 java loops do-while

我希望我的程序不断询问问题,直到它得到可以使用的响应,特别是从 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/

相关文章:

java - 如何比较Java中的日期?

java - 输出多于 8 位的二进制数

c - 我该怎么写 "while( x/y is not a multiple of 4)"

java - 我想要 Do - While 循环,包括 If Else 语句

java - 集合与容器的区别

Java 从 ASCII 整数到字符的转换产生未知值

java - java中遍历对象列表

java - java/android 向循环线程发送消息

javascript - 如何使用 Javascript 循环遍历 UL 标签的所有实例并为其分配 ID

c - 在 do-while 循环中定义的未声明标识符