java - 创建闰年计划(包括世纪)

标签 java leap-year

我是第一年,所以我真的是一个新手,我们有作业 -

By definition a leap year is any year that is divisible by 4. However if a year is a century year it is only a leap year if it is divisible by 400. Write a Java program that will input a year and determine if the year is leap year of not.

此外,由于不知道百年年份,我还必须根据输入的年份来计算它。我在网上读过一个答案,我认为是正确的——获取年份的前 2 位数字,然后加 1。

我可以只使用 if/else 吗?

我不知道该怎么做。提交是在今天之后的一天。请帮忙!

我的代码如下所示,我知道它缺少世纪年份。

import java.util.Scanner;
import java.io.*;

class leapyear
{
        public static void main(String[] a)
    {
        Scanner in = new Scanner (System.in);
        int year, centuryyear;
        System.out.print("Please enter a year: ");
        year = in.nextInt();

        if ((year % 4 == 0) && centuryyear % 400 == 0)
            {
            System.out.println(year + " Is a Leap Year");
            year++;
            }   
        else
            {
            System.out.println(year + " Is not a leap year");
            year++;
            }
    }
}

最佳答案

您不需要使用单独的“世纪年份”变量。您只需要测试年份,看看它是否符合标准。标准:

能被 4 整除且不能被 100 整除,除非也能被 400 整除

您已经知道如何使用 % 来测试这些条件,所以让我们分别看看它们:

可被 4 整除的年份为:year % 4 == 0

不能被 100 整除的是:year % 100 != 0

但能被 400 整除的是:year % 400 == 0

所以我们需要第一个表达式 AND 第二个表达式 OR 第三个表达式:

if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)

关于java - 创建闰年计划(包括世纪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32444331/

相关文章:

java - 使用 spring boot 和 activiti 时找不到进程文件夹

java - Jersey 在 Servlet 3.0/Tomcat 7.0 上运行的简单 REST 服务未运行但 http 状态为 500

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

java - 处理 LocalDate 和 Months 名称

ruby - 为什么 Ruby 认为公元 100 年有 366 天?

c - 在 C 语言中查找下一个闰年

java - 为什么gradle build将 “-1”添加到我的包ID的末尾?

java - swt:如何在侧面留出空间?

javascript - 我的错误在哪里 - Javascript/jQuery 中选择框的日期计算器?

java - 在livedata回调中调用抽象方法