使用switch选择结构实现判断某年某月某日是这一年的第几天?

 使用switch选择结构实现判断某年某月某日是这一年的第几天?


import java.util.Scanner;


public class Demo_29 {
    /*
     * 使用switch选择结构实现判断某年某月某日是这一年的第几天?
     *
     * */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入年、月、日:");


        int year = scanner.nextInt();
        int month = scanner.nextInt();
        int day = scanner.nextInt();


        int beforeMonthOfYear = 0;//选中月份以前的天数
        for (int i = 1; i < month; i++) {
            beforeMonthOfYear += getDaysInMonth(year, i);
        }


        int dayOfYear = beforeMonthOfYear + day;//一年的的某一天
        System.out.println("给定日期 " + +year + "年" + month + "月" + day + "日是这一年的第 " + dayOfYear + "天");
    }


    public static int getDaysInMonth(int year, int month) {
        //判断月份并给 该月份有多少天赋值 dayInMonth
        switch (month) {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                return 31;
            case 4:
            case 6:
            case 9:
            case 11:
                return 30;
            case 2:
                if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
                    return 28;//闰年返回28天
                } else {
                    return 29;//平年返回29天
                }
            default:
                return 0;
        }
    }
}

 输出结果:

使用switch选择结构实现判断某年某月某日是这一年的第几天?_第1张图片

使用switch选择结构实现判断某年某月某日是这一年的第几天?_第2张图片

使用switch选择结构实现判断某年某月某日是这一年的第几天?_第3张图片

你可能感兴趣的:(Java,java,开发语言)