所以我在编程课的介绍中遇到了一个问题。我做了一些研究,以实现这个问题的方法,我能够编译没有错误,但其中一个规定是我必须返回一个字符串。这是我把头伸进砖墙的地方。我已经尝试了一些方法来解决这个问题,但我希望有人能在这里发现我一直把头发拉过来的问题。
public class TellSeason {
public static void main(String[] args) {
season(5 , 12);
}
public static String season(int month , int day) {
if ((month == 9 && day >=16)
|| month == 10
|| month == 11
|| (month == 12 && day <=15)) {
return ("Fall");
}
else if ((month == 12 && day >=16)
|| month == 1
|| month == 2
||(month == 3 && day <=15)) {
return ("Winter");
}
else if ((month == 3 && day >=16)
|| month == 4
|| month == 5
||(month == 6 && day <=15)) {
return ("Spring");
}
else {
return("Summer");
}
}
}
答案 0 :(得分:5)
这样的东西?
public static void main(String[] args){
System.out.println(season(5 , 12));
}
还有一个提示 - 你可以一起比较月和日
int idx = month * 100 + day;
if (idx <= 315 || idx >= 1216)
return ("Winter");
if (idx >= 916)
return ("Fall");
if (idx >= 616)
return("Summer");
//if (idx >= 316)
return ("Spring");
答案 1 :(得分:4)
有两件事,首先你没有对你的方法做任何事情。基本上,你只需在主方法中调用season,而不对结果做任何事情。
其次,查看main方法的方法签名。它明确指出main
具有返回类型void
。这意味着,这种方法无法返回任何内容。您可以使用System.exit()
提供退出代码,但这仅限于整数返回代码。
我强烈怀疑你真正追求的是将结果打印到控制台的能力。也就是说,
System.out.println(season(5,12));
答案 2 :(得分:1)
如果你想从你的主人那里归还任何东西,那是不可能的。
但是,如果您想显示结果,System.out.println
就是您的方法