所以我正在编写一个程序,根据使用参数设置的日期打印出季节。我的问题是通过使用公共静态字符串和相应的返回语句,程序在执行
时不打印任何内容public class Lab06 {
public static void main (String [] args) {
season(12, 15);
}
public static String season(int month, int day) {
if ((((month == 12) && (day >= 16))) || (((month <= 2) && (day <= 31)))
|| (((month == 3) && (day <= 15)))) {
return "Winter";
}
else if ((((month == 3) && (day >= 16)) || ((month == 4 || month == 5) && (day <= 31))
|| ((month == 6) && (day <= 15)))) {
return "Spring";
}
else if ((((month == 6) && (day >= 16)) || ((month == 7 || month == 8) && (day <= 31))
|| ((month == 9) && (day <= 15)))) {
return "Summer";
}
else {
return "Fall";
}
}
使用当前设置的参数,它应该返回&#34; Fall&#34;,但是当我执行程序时它什么也没做。
我也提前尝试使用public static void和相应的system.out.print语句来检查我的问题是否存在于if语句中。
public class Lab06 {
public static void main (String [] args) {
season(12, 15);
}
public static void season(int month, int day) {
if ((((month == 12) && (day >= 16))) || (((month <= 2) && (day <= 31)))
|| (((month == 3) && (day <= 15)))) {
return "Winter";
}
else if ((((month == 3) && (day >= 16)) || ((month == 4 || month == 5) && (day <= 31))
|| ((month == 6) && (day <= 15)))) {
return "Spring";
}
else if ((((month == 6) && (day >= 16)) || ((month == 7 || month == 8) && (day <= 31))
|| ((month == 9) && (day <= 15)))) {
return "Summer";
}
else {
System.out.print("Fall");
}
}
通过这样做,我的程序确实按预期工作,所以我的if语句
没有任何问题对于此分配,我需要使用public static String
提前致谢!
答案 0 :(得分:1)
在java中调用方法,比如
season(12, 15);
绝对不会导致输出。试试这个:
System.out.print(season(12, 15));
答案 1 :(得分:1)
您只返回了该值,但没有对此做任何事情。
使用
System.out.print(season(12,15));
答案 2 :(得分:1)
在Java中我们称之为方法 季(12,15); 并且您的方法返回一个String值,但在您的情况下,您想要打印该值,因此您可以通过两种方式执行此操作 -
第一种方法 -
String returnValue = season(12,15);
System.out.println("return value" + returnValue); // By this approach you can use your store value later also.
第二种方法 -
System.out.println( season(12,15));
答案 3 :(得分:0)
您的返回类型不匹配:
static void
...
return "Winter";
您改为使用static String
返回字符串值。
然后,您可以根据该功能打印出该值。
String season = season(12, 15);
System.out.println(season);
或只是
System.out.println(season(12, 15));
您也可以从第二个示例中的函数进行打印。应将其调整为返回以将其传递回调用者。