一、思路
将日历调整到指定年份的3月1日,利用add方法向前偏移1天,获取2月份天数,如果28天是平年,29天则是瑞年
二、代码
public class CalcYear {
private static Scanner sc;
public static void main(String[] args) {
justYear(getYear());
}
public static void justYear(int year){
Calendar c = Calendar.getInstance();
//将日历设置到指定时间点的3月1日,注意月份从0开头,2即为3月份
c.set(year, 2, 1);
//日期向前偏移一天,即到达了2月份
c.add(Calendar.DAY_OF_MONTH, -1);
//获取2月份的天数
int days = c.get(Calendar.DAY_OF_MONTH);
switch (days) {
case 29:
System.out.println(year + "年2月共有" + days + "天,为瑞年!");
break;
default:
System.out.println(year + "年2月共有" + days + "天,为平年!");
break;
}
}
public static int getYear(){
sc = new Scanner(System.in);
System.out.println("请输入您要验证的年数:");
int year = sc.nextInt();
return year;
}
}
console:
请输入您要验证的年数:
1997
1997年2月共有28天,为平年!