在If、else和JAVA语句中使用字符串

在If、else和JAVA语句中使用字符串,java,string,Java,String,我正在尝试制作一个程序,可以读取用户输入的任何内容,并使用if..else语句检查他们的输入 import java.util.Scanner; class Answers{ public void FalseAnim() { System.out.println("Game Over your answer is wrong. try again!"); } public void CorrectAnim() {

我正在尝试制作一个程序,可以读取用户输入的任何内容,并使用if..else语句检查他们的输入

import java.util.Scanner;

class Answers{

        public void FalseAnim() {
            System.out.println("Game Over your answer is wrong. try again!");
        }

        public void CorrectAnim() {
            System.out.println("your answer is correct");
        }
}

public class quizgame {
    public static void main (String[] args) {
        Scanner input = new Scanner(System.in);
        Answers ans = new Answers();
        String strans1;
        System.out.println("welcome to the quiz game!");
        System.out.println("what is 1+1");
        strans1 = input.nextLine();
        if (strans1=="two"||strans1=="2") {
            ans.CorrectAnim();
        }
        else {
            ans.FalseAnim();
        }

    }
}
每次我运行程序并输入任何内容时,它都会直接进入else语句,即使我输入的是“2”或“2”

会有用的


在代码中,比较的是引用,而不是值。因此,无论哪种方式,它都返回false。

如果(“two”.equals(strans1)| |“2”.equals(strans1)){…}
,因为在Java
=
中,它意味着引用等式更好
(“two”.equals(strans1)|“2”.equals(strans1)
为安全起见,以防
strans1
null
抱歉,问题重复。在任何地方都找不到我问题的答案!谢谢您的回答。
if ("two".equals(strans1)||"2".equals(strans1))