java - 编写计算闰年的代码时遇到困难

标签 java operation leap-year

路线: “如果年份能被 4 整除,则为闰年。但如果年份能被 100 整除,则只有当它也能被 400 整除时,才是闰年。

创建一个程序来检查给定年份是否为闰年。”我在计算部分时遇到了最大的困难。这是我的代码:

public static void main(String[] args) {
    Scanner reader = new Scanner(System.in);

    int year;

    System.out.print("Type a year:");
    year=Integer.parseInt(reader.nextLine());

    if ((year%4==0)||(((year%100==year%400)))){

      System.out.println("The year a leap year.");
 }else       
       System.out.println("The year is not a leap year.");

}

当我运行代码时,我没有收到错误,但是,当我输入 1600、1601 和 1700 等日期时,它说这是闰年,但实际上不应该是闰年。我很迷失,任何帮助将不胜感激

最佳答案

试试这个:

(年份 % 4 == 0 && 年份 % 100 != 0) ||年% 400 == 0

关于java - 编写计算闰年的代码时遇到困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59597490/

相关文章:

java - 不理解 Java EE 中上下文的概念

java - 如何在java应用程序中使用密码保护sqlite db

Swift - 每秒一定量的 URL 请求,无需计时器

java - 检查闰年 - 不使用除法运算

java - 在 jersey 2.x 中使用 GET 将查询参数列表发送到 jersey 客户端?

java - 如何在 Spring 中使用 application.properties 设置配置文件?

C位运算谜题

r - 如何在R中重复闰年二月最后一天的值?

闰年 18 岁以上的 Javascript