华为OJ ---计算日期到天数的转换(给定一个日期,输出为这一年的第几天)

问题描述:

根据输入的日期,计算是这一年的第几天。。

详细描述:

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

思路分析:1.判断年分是平年还是闰年((year%4==0&&year%100!=0) || year%400==0)

 2.闰年二月有29天,平年有28天。

 3.巧用switch语句。求出日期(1-month)的天数+本月的Day 即为所求得值。

代码如下欢迎指正:

import java.util.Scanner;

/**
 * Created by admin on 2016/11/25.
 */
public class Day {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            int year = sc.nextInt();//年份
            int month = sc.nextInt();//月份
            int day = sc.nextInt();//日期
            //判断是平年还是闰年
            boolean isleapYear  = ((year%4==0&&year%100!=0)||(year%400)==0?true:false);
            int days = 0;
            switch (month-1){
                case 12:days += 31;
                case 11:days += 30;
                case 10:days += 31;
                case 9:days += 30;
                case 8:days += 31;
                case 7:days += 31;
                case 6:days += 30;
                case 5:days += 31;
                case 4:days += 30;
                case 3:days += 31;
                case 2: if(isleapYear)
                         days += 29;
                    else
                         days += 28;
                case 1:days += 31;
            }
            System.out.println(day+days);
        }
    }
}

你可能感兴趣的:(华为OJ ---计算日期到天数的转换(给定一个日期,输出为这一年的第几天))