A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jiangkaizhuo 中级黑马   /  2016-4-5 23:39  /  1368 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

需求:键盘录入任意一个年份,判断该年是闰年还是平年
        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;
        }
       
       

12 个回复

倒序浏览
好像在下雨 来自手机 中级黑马 2016-4-5 23:42:32
沙发
是不是摸4等等于0就是闰年,新人不很懂,等大拿来回答
回复 使用道具 举报
好像在下雨 发表于 2016-4-5 23:42
是不是摸4等等于0就是闰年,新人不很懂,等大拿来回答

闰年是 四年一闰 百年不闰 400年又闰
这个是看3.1号减去一天 看看是 2.29 还是2.28
回复 使用道具 举报
caoshengwei 来自手机 中级黑马 2016-4-6 00:33:21
板凳
用calendar类的字段可以来进行判断
回复 使用道具 举报
(year%4=0|year%400=0)&&year%100!=0   我记得是这样的
回复 使用道具 举报
jiangkaizhuo 发表于 2016-4-6 00:23
闰年是 四年一闰 百年不闰 400年又闰
这个是看3.1号减去一天 看看是 2.29 还是2.28  ...

做过一道这样的题,还是不理解,难道能被400整除这一个条件不能判断是不是闰年吗
回复 使用道具 举报
将3月1日,向前减去一天,看是2月29,还是2月28,
回复 使用道具 举报
ZTK12345 发表于 2016-4-6 21:22
做过一道这样的题,还是不理解,难道能被400整除这一个条件不能判断是不是闰年吗 ...

可以判断啊 这是另一个方式
回复 使用道具 举报
纯粹的调用函数啊?我还以为这种是让自己写个简单的算法呢。。。
回复 使用道具 举报
jiangkaizhuo 发表于 2016-4-6 23:16
可以判断啊 这是另一个方式

哦,这样啊!多谢
回复 使用道具 举报
看三月第一天的前一天是28还是29
回复 使用道具 举报
刚学过去,只记得3月份减1,月份是以0索引开始的
回复 使用道具 举报
看你这个写的好麻烦啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马