这是我的代码
public class Leapyear{
public static void main(String []args){
for(int year =2000; year <=2020; year++){
if((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
System.out.println("Year " + year + " is a leap year");
else
System.out.println("Year " + year + " is not a leap year");
}
但问题是:我不知道如果它是闰年,如何返回true,如果它不是闰年,则不会返回。
答案 0 :(得分:5)
在java中创建一个程序,其中如果一年是闰年,则返回true,否则为false
程序无法返回true
。程序不会返回Java意义上的任何内容。它可以设置返回码,但这是一个数字,而不是true
或false
。
(设置返回码的方法是使用System.exit(int)
...其中参数是返回码。代码通常被截断为介于-128和+127之间的值......尽管如此操作系统依赖。)
方法可以返回true
,但void
方法无法返回任何内容。
如果要声明可以返回true
或false
的方法,则需要将返回类型声明为boolean
;例如
public boolean isLeapYear(int year) { /* you fill in the rest */ }
答案 1 :(得分:2)
您可以创建一种方法来判断一年是否是闰年。像这样。
public class Leapyear{
public static void main(String []args){
for(int year =2000; year <=2020; year++){
if(isLeapYear(year)) {
System.out.println("Year " + year + " is a leap year");
else
System.out.println("Year " + year + " is not a leap year");
}
}
public static boolean isLeapYear(int year) {
return (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)) /* It will return boolean value (true or false) */
}
}
答案 2 :(得分:1)
这样做:
public boolean isLeapYear(int year) {
return ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)));
}
通过您想要检查的年份,该功能将根据是否是闰年返回true / false。
注意:我假设程序只需要包含一个能够根据问题中提到的条件返回true / false的方法,而不是一个返回true / false的程序(这是不可能做到的。)
答案 3 :(得分:0)
为了能够返回true
或false
,您需要一个声明为返回boolean
的方法:
public static boolean isLeapYear(int year) {
if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
return true;
else
return false;
}
然后在main
:
for (int year = 2000; year <= 2020; year++) {
if (isLeapYear(year))
System.out.println("Year " + year + " is a leap year");
else
System.out.println("Year " + year + " is not a leap year");