1.题目描述
根据输入的日期,计算是这一年的第几天。
2.思路分析
大家看到这个题应该是狂喜的(▽)!
其实做法有挺多种的,比如用数组把每个月份的累计天数存着。
这里我用switch解决,虽然代码有点长,但是思路简单明了。
唯一注意的就是闰年时候2月有29天。
3.代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int y = sc.nextInt();
int m = sc.nextInt();
int d = sc.nextInt();
int count = 0;
switch(m){
case 1:
count = d;
break;
case 2:
count = 31 + d;
break;
case 3:
count = 59 + d;
break;
case 4:
count = 90 + d;
break;
case 5:
count = 120 + d;
break;
case 6:
count = 151 + d;
break;
case 7:
count = 181 + d;
break;
case 8:
count = 212 + d;
break;
case 9:
count = 243 + d;
break;
case 10:
count =273 + d;
break;
case 11:
count = 304 + d;
break;
case 12:
count = 334 + d;
break;
}
if((y % 400 == 0 || y % 4 == 0 && y % 100 != 0) && m > 2){
count++;
}
System.out.println(count);
}
}
}