java - 使用 boolean 效用方法评估多个年份以查找闰年

标签 java gregorian-calendar leap-year

大家下午好, 我在从 boolean 实用方法计算多个闰年时遇到问题。我被告知要使用循环,但很难弄清楚如何以及在哪里放置它。

import java.util.Scanner;

 public class LeapYear {
      private static boolean isLeapYear(int year) {
          if (year % 400 == 0 && year % 100 == 0) {
              return true;
          }
          if (year % 100 == 0) {
              return false;
          }
          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));
}

}

最佳答案

只需使用 do-while 循环:

public static void main(String[] args) {
    int year = 0;
    Scanner scan = new Scanner(System.in); 
    do{
        System.out.println("Enter a year or -1 to quit: ");
        year = scan.nextInt();
        while (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) { 
            System.out.println(isLeapYear(year));
        } 
    }while(year!=-1);
}

关于java - 使用 boolean 效用方法评估多个年份以查找闰年,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59254591/

相关文章:

java - 让我的程序返回到 "top"(if 语句)(Java)

Java 类级别类型推断

java - 同一实体关系的 hibernate 辅助表

java - 应用内结算广告移除 : Ads are not showing

c# - 如何在 C# 中使用 AddYears 方法获取 2 月 29 日

php - 增加一个月至今 2020-01-30 取消下个月

java - 拖动项目时滚动 gridview(作为阴影)

java - 自纪元以来时间不稳定的公历日历

ios - 我如何解决 ios8 的日期问题

java - 日历实例不工作