java 输入某年某月某日,判断这一天是这一年的第几天

题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

程序设计:

import java.util.*;
public class test {
  public static void main (String[]args){
    int day=0;
    int month=0;
    int year=0;
    int sum=0;
    int leap; 
    System.out.print("请输入年,月,日\n"); 
    Scanner input = new Scanner(System.in);
    year=input.nextInt();
    month=input.nextInt();
    day=input.nextInt();
    switch(month) /*先计算某月以前月份的总天数*/ 
    { 
    case 1:
      sum=0;break; 
    case 2:
      sum=31;break; 
    case 3:
      sum=59;break; 
    case 4:
      sum=90;break; 
    case 5:
      sum=120;break; 
    case 6:
      sum=151;break; 
    case 7:
      sum=181;break; 
    case 8:
      sum=212;break; 
    case 9:
      sum=243;break; 
    case 10:
      sum=273;break; 
    case 11:
      sum=304;break; 
    case 12:
      sum=334;break; 
    default:
      System.out.println("data error");break;
    } 
    sum=sum+day; /*再加上某天的天数*/ 
    if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ 
      leap=1; 
    else 
      leap=0; 
    if(leap==1 && month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ 
      sum++; 
    System.out.println("It is the the day:"+sum);
    }
}

代码技巧

转载请关注公众号:代码技巧 回复:授权

本文链接地址:https://www.oudahe.com/p/49658/