题目
编程题:输入小李的出生日期,计算他从出生到今天共经历了多少个2月29日,输出计算结果。不需要考虑输入的日期不合法或不在要求范围之内的情况。
例如:输入 2012 3 1,则输出结果为1 (2018年12月)
分析
- 判断出生年和今年是否经历了2月29
- 中间年闰年计算
Java实现
因为考研日都是12月,所以没有进行本年未经历2月的判断
public static void test06(){
Scanner sc = new Scanner(System.in);
int[] date = new int[3];
for (int i = 0; i < 3; i++) {
date[i] = sc.nextInt();
}
int[] today = new int[]{2018,12,21};
int day = 0;
for (int i = date[0]+1; i <= today[0]; i++) {
if ((i%100 != 0 && i%4 == 0) || i%400 == 0){
day++;
}
}
if ((date[0]%100 != 0 && date[0]%4 == 0) || date[0]%400 == 0){
if (date[1] < 3 ){
day++;
}
}
System.out.println(day);
}