美文网首页基础编程50题
【题目14】判断某天是一年中的第几天

【题目14】判断某天是一年中的第几天

作者: Xplorist | 来源:发表于2017-03-26 11:31 被阅读165次

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

    package com.share.test11_20;
    
    import java.util.Scanner;
    
    /**
     * 【程序14题目:<br>
     * 输入某年某月某日,判断这一天是这一年的第几天?  
     * 
     * @author brx
     */
    public class Test14 {
        public static void main(String[] args) {
            test();
        }
    
        /**
         * 思路:<br>
         * 将日期前面的天数相加就行了,但是要考虑到每闰年和平年的2月份天数不同,月份分为大月31天,小月30天。<br>
         * 分区间求和问题,将每个月的天数从12月罗列到1月,从上往下求和,用到switch。<br>
         * 当月的天数加上前面整月的天数之和,如果月份大于2月就要考虑是否是闰年,闰年再加上一天就行了。
         */
        public static void test() {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个年:");
            int year = sc.nextInt();
            System.out.println("请输入一个月:");
            int month = sc.nextInt();
            System.out.println("请输入一个日:");
            int day = sc.nextInt();
            int sum = 0;
    
            switch (month - 1) {
            case 11:
                sum += 30;
            case 10:
                sum += 31;
            case 9:
                sum += 30;
            case 8:
                sum += 31;
            case 7:
                sum += 31;
            case 6:
                sum += 30;
            case 5:
                sum += 31;
            case 4:
                sum += 30;
            case 3:
                sum += 31;
            case 2:
                sum += 28;
            case 1:
                sum += 31;
            case 0:
                sum += day;
            }
            if (month > 2) {
                if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
                    sum++;
                }
            }
    
            System.out.println("这是这年的第: " + sum + " 天");
        }
    }
    
    

    相关文章

      网友评论

        本文标题:【题目14】判断某天是一年中的第几天

        本文链接:https://www.haomeiwen.com/subject/zgzhottx.html