题解 | #计算日期到天数转换#

计算日期到天数转换

https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    // 注意 hasNext 和 hasNextLine 的区别
    while (in.hasNextInt()) { // 注意 while 处理多个 case
      String date = in.nextLine();
      String s1 [] = date.split(" ");  //分割成2012 12 31
      String s2 [] = date.split("");  //分割成2 0 1 2  1 2  3 1
      
      int month = Integer.parseInt(s1[1]);
      
        switch (month){
          case 1:
            System.out.println(Integer.parseInt(s1[2]));
            break;  //请记得每一个case语句内都要加break!
          case 2:
            System.out.println(Integer.parseInt(s1[2])+31);  //case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
            break;
          case 3:
            if(isLeapYear(s1[0]) == true){//是闰年,且输入月份大于2月
              System.out.println(31+29+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+Integer.parseInt(s1[2]));
            }
            break;
          case 4:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+Integer.parseInt(s1[2]));
            }
            break;
          case 5:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+Integer.parseInt(s1[2]));
            }
            break;
          case 6:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+Integer.parseInt(s1[2]));
            }
            break;
          case 7:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+Integer.parseInt(s1[2]));
            }
            break;
          case 8:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+31+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+31+Integer.parseInt(s1[2]));
            }
            break;
          case 9:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+31+31+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+31+31+Integer.parseInt(s1[2]));
            }
            break;
          case 10:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+31+31+30+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+31+31+30+Integer.parseInt(s1[2]));
            }
            break;
          case 11:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+31+31+30+31+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+31+31+30+31+Integer.parseInt(s1[2]));
            }
            break;
          case 12:
            if(isLeapYear(s1[0]) == true){
              System.out.println(31+29+31+30+31+30+31+31+30+31+30+Integer.parseInt(s1[2]));
            }else {
              System.out.println(31+28+31+30+31+30+31+31+30+31+30+Integer.parseInt(s1[2]));
            }
            break;
        }
    }
  }
  
  public static boolean isLeapYear(String s1){
    if((Integer.parseInt(s1)%100 == 0 && Integer.parseInt(s1)%400 == 0) || (Integer.parseInt(s1)%4 == 0 && Integer.parseInt(s1)%100 !=0)){
      return true;
    }
    return false;
  }
全部评论

相关推荐

艰难学习Java的鼠鼠:跟项目没啥关系,单纯投晚了,一般两周一个周期,现在投基本得接近两周才会约面,后端简历数量太多了,需要时间排队
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务