如果else语句不读取用户输入

时间:2015-10-05 12:22:40

标签: java if-statement java.util.scanner

每当用户输入为1或Jan时,代码不会读取并跳转到第二个语句并显示

  

已输入无效月份

        Scanner in = new Scanner(System.in);

        System.out.println("Enter a month:  ");

        String month=in.nextLine();


        if((month == "1") || (month == "Jan")){

            System.out.println("Month: January");
        }
        else{
            System.out.println("Invalid month has been entered");

1 个答案:

答案 0 :(得分:5)

使用字符串,使用“等于”而不是==。

if(("1".equals(month)) || ("Jan".equals(month)))

这是必需的,因为字符串不是原始类型,而是Java中的一种特殊对象。

您可以查看以下内容以获取更多信息: What is the difference between == vs equals() in Java?