1

我不是专业的程序员。我还在学习,所以我的代码现在有点基础。

Scanner UserInput = new Scanner(System.in);
String UserChoose = UserInput.next();
if (UserChoose=="Quit"){

我推断 if 语句中缺少某些内容,但我无法弄清楚是什么。有人可以告诉我我错过了什么吗?我一直在网上搜索一个小时没有运气。

4

3 回答 3

0

常见错误,使用 UserChoose.equals("Quit") 比较字符串。由于 String 是一个对象,因此使用 == 可能会比较两个字符串的内存位置或总是会导致错误的东西。

于 2013-10-20T16:24:40.187 回答
0
if (UserChoose.equals("Quit")){

在java中,默认的==操作符比较它们是否是同一个对象,即使内容相同,如果对象引用不一样,则不是==

有关更完整的说明,请参阅此链接:http://blog.enrii.com/2006/03/15/java-string-equality-common-mistake/

于 2013-10-20T16:22:59.617 回答
0

要比较 java 中的对象,请使用 .equals() 方法而不是“==”运算符

替换 if (UserChoose=="Quit"){if (UserChoose.equals("Quit")){

于 2013-10-20T16:23:10.920 回答