题目来源:
输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。
输入格式:
输入在一行中给出21世纪的某个截止年份。
输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。
输入样例 1:
2048
输出样例 1:
2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048
输入样例 2:
2000
输出样例 2:
Invalid year!解:
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
//输入年份
int year = scanner.nextInt();
//如果不是21世纪的年份
if(year>2100 || year<=2000)
{
System.out.println("Invalid year!");
}
else
{
//从2004年到year 输出所有闰年
for(int i=2004;i<=year;++i)
{
//能被4整除但不能被100整除、或者能被400整除。
if( (i%4==0 && i%100!=0) || (i%400==0) )
{
System.out.println(i);
}
}
}
}
}
我出错的原因是 ,21世纪的年份区间搞乱了,正确的(2000,2100]
参考:http://blog.csdn.net/sephyioth/article/details/38659017