public class Test3 {
/**
* * A:案例演示
* 需求:键盘录入任意一个年份,判断该年是闰年还是平年
* Calendar c = Calendar.getInstance();//instance实例
* 分析
* 1.键盘录入年 Scanner
* 2.根据年去判断2月是28天或者29天
*/
public static void main(String[] args) {
//定义一个Scanner来接收年
Scanner sc = new Scanner(System.in);
//接收年
System.out.println("请 输入年份,来判断是否是闰年:");
int year = sc.nextInt();
Calendar c = Calendar.getInstance();//获得日期的对象
//定义月份的时候注意 月份是从0开始的
//方法1 设置成2 那么肯定是三月,因为是从0月开始的,在给日为0,因为日期是从1开始的那么会返回的是上月的日期
c.set(year, 2, 0);
//调用方法来判断
System.out.println(getYear(year));
}
/*
* 定义一个方法接收2月的天数 用Calendar.DAY_MOUTH和set(MOUTH,2);
* 判断他的返回值是否等于29天
* 返回类型boolean
* 参数列表 Calendar.YEAR int year
*/
public static boolean getYear(int year) {
Calendar c = Calendar.getInstance();//获得日期的对象
//定义月份的时候注意 月份是从0开始的
/*//方法1 设置成2 那么肯定是三月,因为是从0月开始的,在给日为0,因为日期是从1开始的那么会返回的是上月的日期
c.set(year, 2, 0);
return c.get(Calendar.DAY_OF_MONTH) == 29 ? true : false; */
//方法2
//设置成3月1日然后减去1天 就是2月的天数
c.set(year, 2,1);
//减去一天
c.add(Calendar.DAY_OF_MONTH, -1);
return c.get(Calendar.DAY_OF_MONTH) == 29 ? true : false;
}
} |
|