Java问题: If/Else

标签 java

我制作了一个程序来根据月份来判断现在是什么季节。然而,无论我输入什么,它都说现在是秋天。这是代码:

import java.util.Scanner;
public class SeasonChecker {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner input = new Scanner(System.in);

    System.out.println("What month is it??");
    String month = input.nextLine();
    System.out.println(month);
    if (month == "december"||month == "January"||month=="February"){
        System.out.println("Then it is Winter?");
    }
    else if (month=="March"||month=="May"||month=="April"){
        System.out.println("Then it is Spring!!!");

    }
    else if (month=="June"||month=="July"||month=="August"){
        System.out.println("Then it is Summer!");

    }
    else {

        System.out.println("Then it is Autumn!");

    }
    input.close();
}

}

最佳答案

month == "december"||month == "January"

在比较字符串时使用equals()方法。

示例:

   "december".equals(month) || "January".equals(month)

== 检查引用是否相等(指向同一对象的两个引用不是)。 equals() 检查对象的内容。

关于Java问题: If/Else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17411243/

相关文章:

java - spring jpa hibernate 写入数据库失败 - 无事务

java - 使用 Google 和 Facebook 等身份提供商在 Keycloak 上进行 Android 身份验证

java - 使用JNA检测AppData\LocalLow的位置

java - 获取没有照片的电话联系人,以便将它们保存在 DataOutputStream(vcf 格式)中

Linux 上的 Java : Measuring elapsed time using System. nanotime() 用于阻塞线程

java - NetworkManager 受 AP 支持

java - 类 "SynchronousHelper"的签名者信息与同一包中其他类的签名者信息不匹配

java - 菜单选择及调用方法

java - 在代码中使用 set 或 List

java - Struts 2 Action 类中的复选框值