除世纪年份(以00结尾的年份)外,年可精确地除以4。只有将世纪完全除以400,世纪年才是a年。
示例:检查Program年的Java程序
public class LeapYear {
public static void main(String[] args) {
int year = 1900;
boolean leap = false;
if(year % 4 == 0)
{
if( year % 100 == 0)
{
// year is divisible by 400, hence the year is a leap year
if ( year % 400 == 0)
leap = true;
else
leap = false;
}
else
leap = true;
}
else
leap = false;
if(leap)
System.out.println(year + " is a leap year.");
else
System.out.println(year + " is not a leap year.");
}
}
输出
1900 is not a leap year.
将year的值更改为2012时,输出为:
2012 is a leap year.
在上述程序中,给定年份1900存储在变量year中 。
由于1900被4整除,并且也是一个世纪年(以00结尾),因此a年已被400整除。由于不能被400整除,因此1900年不是a年。
但是,如果将年份更改为2000,则它可以被4整除,是一个世纪年份,也可以被400整除。因此,2000是is年。
同样,如果我们将年份更改为2012,则该年份可以被4整除,并且不是世纪年份,因此2012是2012年。我们不需要检查2012年是否可以被400整除。