用Java创建一个程序,如果一年是闰年,则返回true,否则返回false

时间:2015-06-13 05:55:17

标签: java

这是我的代码

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,如果它不是闰年,则不会返回。

4 个答案:

答案 0 :(得分:5)

  

在java中创建一个程序,其中如果一年是闰年,则返回true,否则为false

程序无法返回true。程序不会返回Java意义上的任何内容。它可以设置返回码,但这是一个数字,而不是truefalse

(设置返回码的方法是使用System.exit(int) ...其中参数是返回码。代码通常被截断为介于-128和+127之间的值......尽管如此操作系统依赖。)

方法可以返回true,但void方法无法返回任何内容。

如果要声明可以返回truefalse的方法,则需要将返回类型声明为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)

为了能够返回truefalse,您需要一个声明为返回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");