您的位置:首页 > 编程语言 > Java开发

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

2017-08-19 09:21 323 查看
    public static void main(String[] args) {

        //定义变量

        

        //年

        int year;

        //月

        int month;

        //固定天数

        int day=0;

        //输入的天数

        int days=0;

        

        //计算天数

        int d = 0;

        //标识

        int e = 0;

        Scanner scanner = new Scanner(System.in);

        

        do {

            System.out.println("请输入年份:");

            year = scanner.nextInt();

            System.out.println("请输入月份:");

            month = scanner.nextInt();

            System.out.println("请输入日:");

            days = scanner.nextInt();

            //判断     月  日      输入的值是否符合要求    

            if (month<0 || month>12 || days<0 || month>31) {

                System.out.println("输入有误");

                //标识

                e=1;

            }

        //如果输入错误则继续循环    

        } while (e==1);

        

        //循环

        for (int i = 0; i < month; i++) {

            //根据外循环来进行累加

            switch (i) {

                case 1:

                case 3:

                case 5:    

                case 7:    

                case 8:    

                case 10:    

                case 12:{

                    day=31;

                    break;

                }

                case 4:

                case 6:

                case 9:

                case 11:{

                    day=30;

                    break;

                }

                

                //    闰年: 非整百年数除以4,无余为闰,有余为平;②整百年数除以400,无余为闰有余平

                //     二月: 平年28天、闰年29天

                 

                case 2:{

                    //非整百年(year%100!=0)    %4        整百年(year%100==0)    %400    无余为闰

                    if ((year%100!=0 && year%4==0)||(year%100==0 && year%400==0)) {

                        //润

                        day=29;

                    }else {

                        //平

                        day=28;

                    }

                }

                default:

                    break;

                }

                //进行累加

                d+=day;

        }

        //输出判断是否为闰年

        if ((year%100!=0 && year%4==0)||(year%100==0 && year%400==0)) {

            System.out.println("这一年是闰年");

        }else{

            System.out.println("这一年是平年");

        }

        //                                    加上    输入的天数

        System.out.println("这是"+year+"年 的第"+(d+days)+"天");
    }

效果图如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java
相关文章推荐