Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java问题:If/Else_Java - Fatal编程技术网

Java问题:If/Else

Java问题:If/Else,java,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);

我已经做了一个计划,告诉什么季节是基于这个月。然而,不管我输入什么,它都说是秋天。代码如下:

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();
}
}

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

例如:

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

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

在Java中,对于字符串,应该使用
equals
方法进行比较,而不是使用literal
=
进行比较。因此,使用
==
month.equals(“一月”)
将比较内存引用,并查看它们是否与对象的引用相同
=
用于比较int或double之类的文本

使用equals方法而不是==

if (month.equals("december")||month.equals("January")||month.equals("February")){

在java中==比较引用。但是equals方法比较字符串的值。

不要将字符串值与
==
进行比较;比较对象引用以确定它们是否是相同的对象。使用
equals
比较字符串值。我更喜欢这个答案,因为如果
month
为空,它可以避免NullPointerException。
if (month.equals("december")||month.equals("January")||month.equals("February")){