因为每月天数不一样,而且没什么规律,用if,for这些来算比较麻烦,而用switch则看上去很清晰明朗,感觉像是break;的妙用
思路:这个月的第几天为这个月前面所有月的天数+这个月的天数,所以,每个月加的是上一个月的天数。
int year=2000,month=12,day=31;//定义年月日
int sum=0;//定义总时长
switch(month){
case 12:sum=30;
case 11:sum+=31;
case 10:sum+=30;
case 9:sum+=31;
case 8:sum+=31;
case 7:sum+=30;
case 6:sum+=31;
case 5:sum+=30;
case 4:sum+=31;
case 3:
if(year%4==0&&year%100!=0||year%400==0){
sum+=29;
}else{
sum+=28;
}
case 2:sum+=31;
case 1:sum+=day;
}
System.out.println(sum);