我的程序忽略了我的if语句并直接转到其他地方

时间:2013-10-03 12:09:54

标签: java string if-statement

String firstanswer = scan.nextLine();
    if(firstanswer == answer2)
        {
            System.out.println("OK lets get started");
            }
    else
        {
            System.out.println("That is incorrect, of course you want to play");
            }

// answer2设置为“是”,我在上面声明了

3 个答案:

答案 0 :(得分:7)

将其设为firstanswer.equals(answer2)而不是firstanswer == answer2

如果要检查java中String的相等性,请使用equals方法而不是==运算符。

  • equals方法检查String个对象的内容是否相同
  • ==运算符检查两个引用变量是否引用相同的String对象

要了解字符串和平等,请阅读String comparison with equals and assignment operator这将有助于您更好地理解这个概念。

答案 1 :(得分:1)

使用equals()代替==来比较字符串。

答案 2 :(得分:1)

if(firstanswer.equals(answer2))正是您要找的。

firstansweranswer2是指向字符串对象的指针。 ==检查指针是否相等(它们是否指向同一个对象),而equals()比较两个字符串的内容并返回表示内容是否相等的布尔值。 / p>