输入任意的年月日,打印是该年的第多少天
import java.util.Scanner;//导包
public class Demo09 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("当前是哪年");
int year =input.nextInt();
System.out.println("当前是几月 ");
int month =input.nextInt();
System.out.println("当前是几号");
int day =input.nextInt();
int result=0;//初始化,用于计算最终的天数
switch (month){ //表达式为月份
/*假设输入的是2021年2月5日,会满足case 2;result 会加上1月份的三十一天;因为没有break防case穿透
switch 会继续向下运算,result会再加上day。此时得出的即是2021年2月5日所在天数。*/
case 12:
result +=30; //11月有30天
case 11:
result +=31;//10月有31天
case 10:
result +=30;//...
case 9:
result +=31;
case 8:
result +=31;
case 7:
result +=30;
case 6:
result +=31;
case 5:
result +=30;
case 4:
result +=31;
case 3:
if (year%100!=0&&year%4==0){ //条件1排除掉以两个0结尾的情况;条件2判定是否为闰年
result +=29;}
else if(year%400==0){ //如果年以两个0为结尾的判定方式
result +=29;}
else{//排除掉闰年的情况
result+=28;}
case 2:
result +=31;
case 1:
result += day; //当月几天
break;
}
System.out.println("当前是"+ year+"年的第"+result+"天");
}
}
结果:


浙公网安备 33010602011771号