在If,else语句中使用字符串

时间:2019-03-21 11:09:50

标签: 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() {
            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”

1 个答案:

答案 0 :(得分:0)

if ("two".equals(strans1)||"2".equals(strans1))

将起作用。

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