我试图弄清楚为什么我的功能不能正常工作。代码是相当基本和自我解释的。这是功能:
public static void Greet(){
System.out.println("Hello, what is your name? ");
name = scan.nextLine();
do{
System.out.println("Would you like to order some coffee, " + name + "? (y/n) ");
input = scan.nextLine();
if(input == "y"){
System.out.println("Great! Let's get started.");
break;
}
else if(input == "n"){
System.out.println("Come back next time, " + name + ".");
System.exit(0);
}
else{
System.out.println("Invalid response. Try again.");
}
}
while(true);
}
基本上,无论我在第5行输入什么作为“输入”,该函数都会将其视为我没有输入'y'或'n',它只是不断循环while(true)并打印“响应无效。请重试。”我不知道为什么我的if / else语句不能正常工作。任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
按equals
而不是==
if((input.trim()).equals("y")){
equals
比较值
==
comapres引用
答案 1 :(得分:0)
与equals
比较。
if(input.equals("y")){
System.out.println("Great! Let's get started.");
break;
}
else if(input.equals("n")){
System.out.println("Come back next time, " + name + ".");
System.exit(0);
}