输入任意的年月日,打印是该年的第多少天


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+"天");
  }
}

结果:

 

 

posted @ 2021-11-11 12:46  我tm是星河大帝  阅读(100)  评论(0)    收藏  举报