黑马程序员技术交流社区

标题: 以前在C++中 见过 计算 平年与闰年的方法 原来 在JAVA中可以这么做 [打印本页]

作者: 荒岛晴空    时间: 2015-10-21 16:17
标题: 以前在C++中 见过 计算 平年与闰年的方法 原来 在JAVA中可以这么做
package com.heima.test;
import java.util.Calendar;
import java.util.Scanner;
public class Test3 {
        /**
         * * A:案例演示
         * 需求:键盘录入任意一个年份,判断该年是闰年还是平年
         * Calendar c = Calendar.getInstance();
         *
         * 分析:
         * 1,键盘录入年Scanner
         * 2,创建Calendar c = Calendar.getInstance();
         * 3,通过set方法设置为那一年的3月1日
         * 4,将日向前减去1
         * 5,判断日是多少天,如果是29天返回true否则返回false
         */
        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;
        }

作者: 我是大明星    时间: 2015-10-21 17:07
不是传统的闰年的计算方法,学习了。计算不是很麻烦,传统的闰年计算方法稍麻烦:能被 4 除尽的年份为闰年,但对世纪年(如1600,1700,……),只有能被 400 除尽的才为闰年。
作者: 不二先生    时间: 2015-10-22 00:55
不错 不错
作者: SF_NEVERMORE    时间: 2015-10-22 10:01
这个方法好高大上。




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