使用布尔实用方法评估多年以找到Find年

问题描述 投票:0回答:1

大家下午好,我在从布尔实用方法计算多个multiple年时遇到问题。有人告诉我要使用循环,但是很难弄清楚如何放置和放置它。

import java.util.Scanner;

 public class LeapYear {
      private static boolean isLeapYear(int year) {
          if (year % 400 == 0) {
              return true;
          }
          if (year % 100 == 0) {
              return true;
          }
          if (year % 4 == 0) {
              return true;
          }
          else {
             return false;
         }
     }
public static void main(String[] args) {
    int quitter = 0;
    int negative = 0;
    int year = 0;

    Scanner scan = new Scanner(System.in);

    System.out.println("Enter a year or -1 to quit: ");
    year = scan.nextInt();

    while (year != -1 && year < 1582) {
            System.out.print("The Gregorian calendar was not adopted until 1582, please enter a year after 1582: ");
            year = scan.nextInt();
    }

    if(year == -1) {
        negative += year;
        quitter++;
    }

    System.out.println(isLeapYear(year));
}

}

java gregorian-calendar leap-year
1个回答
0
投票

这里是测试程序的方法。注意:由于您要返回的都是true或false,因此我将最后两个语句组合成一个返回。

      int test[] = { 1933, 2100, 2200, 2000, 2400, 2007, 2008
      };

      for (int year : test) {
         System.out.println(year + " is " + (isLeapYear(year) ? ""
               : "not ") + "a leap year.");
      }


    private static boolean isLeapYear(int year) {
      if (year % 400 == 0) {
         return true;
      }
      if (year % 100 == 0) {
         return false;
      }
      return year % 4 == 0;
    }
© www.soinside.com 2019 - 2024. All rights reserved.