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


  根据定义,a年是可以被4整除的任何年份。但是,如果年份是一个世纪年份,则可以被400整除只是only年。编写一个Java程序来输入年份并确定该年份是否为not年不是。


另外,由于一个世纪的年份未知,因此我也必须根据输入的年份来计算它。我在网上阅读了一个我认为是正确的答案-获取年份的前两位数字,然后加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整除的年份为:年%4 == 0

不被100整除将是:年%100!= 0

但是可以被400整除为:年%400 == 0

因此,我们需要第一个表达式,第二个表达式或第三个表达式:

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

07-26 07:45