黑马程序员技术交流社区

标题: 怎么判断是闰年 [打印本页]

作者: jiangkaizhuo    时间: 2016-4-5 23:39
标题: 怎么判断是闰年
需求:键盘录入任意一个年份,判断该年是闰年还是平年
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入年份,判断该年份是闰年还是平年:");
                //int year = sc.nextInt();
               
                String line = sc.nextLine();                                //录入数字字符串
                int year = Integer.parseInt(line);                        //将数字字符串转换成数字
                boolean b = getYear(year);
                System.out.println(b);
        }

        private static boolean getYear(int year) {
                                                //2,创建Calendar c = Calendar.getInstance();
                Calendar c = Calendar.getInstance();
                                                //设置为那一年的3月1日
                c.set(year, 2, 1);
                                                //将日向前减去1
                c.add(Calendar.DAY_OF_MONTH, -1);
                                                //判断是否是29天
                return c.get(Calendar.DAY_OF_MONTH) == 29;
        }
       
       


作者: 好像在下雨    时间: 2016-4-5 23:42
是不是摸4等等于0就是闰年,新人不很懂,等大拿来回答
作者: jiangkaizhuo    时间: 2016-4-6 00:23
好像在下雨 发表于 2016-4-5 23:42
是不是摸4等等于0就是闰年,新人不很懂,等大拿来回答

闰年是 四年一闰 百年不闰 400年又闰
这个是看3.1号减去一天 看看是 2.29 还是2.28
作者: caoshengwei    时间: 2016-4-6 00:33
用calendar类的字段可以来进行判断
作者: lgdbest    时间: 2016-4-6 09:33
(year%4=0|year%400=0)&&year%100!=0   我记得是这样的
作者: ZTK12345    时间: 2016-4-6 21:22
jiangkaizhuo 发表于 2016-4-6 00:23
闰年是 四年一闰 百年不闰 400年又闰
这个是看3.1号减去一天 看看是 2.29 还是2.28  ...

做过一道这样的题,还是不理解,难道能被400整除这一个条件不能判断是不是闰年吗
作者: qing31657552    时间: 2016-4-6 22:09
将3月1日,向前减去一天,看是2月29,还是2月28,
作者: jiangkaizhuo    时间: 2016-4-6 23:16
ZTK12345 发表于 2016-4-6 21:22
做过一道这样的题,还是不理解,难道能被400整除这一个条件不能判断是不是闰年吗 ...

可以判断啊 这是另一个方式
作者: baye1992    时间: 2016-4-7 14:17
纯粹的调用函数啊?我还以为这种是让自己写个简单的算法呢。。。
作者: ZTK12345    时间: 2016-4-11 23:10
jiangkaizhuo 发表于 2016-4-6 23:16
可以判断啊 这是另一个方式

哦,这样啊!多谢
作者: cohle1992    时间: 2016-4-11 23:20
看三月第一天的前一天是28还是29
作者: zihuiyuan    时间: 2016-4-11 23:29
刚学过去,只记得3月份减1,月份是以0索引开始的
作者: 心若不动    时间: 2016-4-12 23:03
看你这个写的好麻烦啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2