我在第一年,所以我真的是一个新手,我们的作业是–
根据定义,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)