【发布时间】:2013-12-01 11:46:50
【问题描述】:
我正在尝试解决以下问题,但是在输入值后它不会计算。我希望这可以很快得到纠正,并且没有弄错 if-else 语句?谢谢!
编写一个名为 season 的方法,该方法接受两个整数作为参数,分别代表一个月数和一个天数,并返回一个表示该月和日的季节的字符串。假设月份指定为 1 到 12 之间的整数(1 表示一月,2 表示二月,依此类推),并且该月的日期是 1 到 31 之间的数字。 如果日期介于 12/16 和 3/15 之间,则应返回“Winter”。如果日期介于 3/16 和 6/15 之间,则应返回“Spring”。如果日期介于 6/16 和 9/15 之间,则应返回“Summer”。如果日期介于 9/16 和 12/15 之间,则应返回“Fall”。”
import java.util.Scanner;
public class Seasons
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("This program reports the season for a given day and month");
System.out.print("Please enter the month and day as integers with a space between the month and day:");
int month = keyboard.nextInt();
int day = keyboard.nextInt();
}
public static String season(int month, int day)
{
if ((month == 12 && day >= 16) || (month == 3 || day <= 15) || (month == 1 || month == 2))
return "Winter";
if ((month == 3 && day >= 16) || (month == 6 || day <= 15) || (month == 4 || month == 5))
return "Spring";
if ((month == 6 && day >= 16) || (month == 9 || day <= 15) || (month == 7 || month == 8))
return "Summer";
if ((month == 9 && day >= 16) || (month == 12 || day <= 15) || (month == 10 || month == 11))
return "Fall";
else
{
return "impossible!";
}
}
}
【问题讨论】:
-
你永远不会调用你的
season方法。从用户那里获得值后,在 main 中添加行String result = season(month, day);,并在控制台中打印此结果。另外你应该修改你的条件,如果month = 50和day = 2,它将输出冬天。
标签: java string if-statement