有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么这个基本的main方法while循环不起作用?没有语法错误

-我删掉了主代码,因为它似乎不必要,问题似乎在于此,代码运行一次,然后即使我键入“是”作为扫描仪的答案,循环也会停止。它只循环一次

String bool = "yes";
    while (bool == "yes") {
        int e1 = whichExam();
        printinfo(pp, csn, isa, fwt, lds, afl, oop, e1);
        Scanner scanner = new Scanner(System.in);
        System.out.println("Do you want to check another exam ('yes' or 'no')?");
        bool = scanner.nextLine();
    }

共 (1) 个答案

  1. # 1 楼答案

    简短答复:

    您正在错误地比较strings

    while (bool == "yes")
    

    应该是:

    while (bool.equals("yes"))
    

    详细回答:

    当您执行while (bool == "yes")时,您正在检查两个String引用是否指向内存中的同一个对象,因为这是而不是,因此在之后的情况第一次检查该条件,因此循环只执行一次。您可能还想使用^{}