Java While/do-While循环不';t端

Java While/do-While循环不';t端,java,loops,Java,Loops,据我所知,无论是C#还是Java,条件语句和循环语句中的逻辑都是相同的 class WhileLoops { public static void main(String args[]){ Scanner input = new Scanner(System.in); String answer = ""; /*do{ System.out.println("Will you be my girlfriend?(Yes/No)"); answer = input.next

据我所知,无论是C#还是Java,条件语句和循环语句中的逻辑都是相同的

class WhileLoops {

public static void main(String args[]){


Scanner input = new Scanner(System.in);
String answer = "";
/*do{

    System.out.println("Will you be my girlfriend?(Yes/No)");
    answer = input.nextLine();
    }while(answer != "Yes" && answer != "Yes");*/

while(answer != "Yes" && answer != "yes") {

    System.out.println("Will you be my girlfriend?(Yes/No)");
    answer = input.nextLine();
    }

System.out.println("I promise to make you feel special.");

   }
}
正如您在上面的代码中所看到的,我在编译和运行时使用了do while,并将其中任何一个设置为注释

这是我运行程序时发生的情况:

使用
.equals()
方法。 所以

原因是Java在使用
=
操作符时比较引用。比较这两个字符串时,它们指向内存中的不同位置,因此比较失败

equals()
(和
equalsIgnoreCase()
)方法比较内存块的实际内容

注意:这仅适用于引用类型(如字符串和其他类)。值类型(如整数和浮点等)可以与常用的equals运算符进行比较。

使用以下方法:

while(!answer.toLowerCase().equals("yes"))

你的代码会写出一个图像吗?请将您的示例输入和输出复制到您的问题中!这里不需要图像。很难加载吗?好的,下次会做得更好谢谢:)谢谢你的回答:)谢谢你非常具体和翔实的回答!高度赞赏:)
while(!answer.toLowerCase().equals("yes"))