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

Key*_*Key 0 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");
Run Code Online (Sandbox Code Playgroud)

jav*_*ial 5

使用字符串,使用"等于"而不是==.

if(("1".equals(month)) || ("Jan".equals(month)))
Run Code Online (Sandbox Code Playgroud)

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

您可以查看以下内容以获取更多信息: Java中== vs equals()之间的区别是什么?