Java之Calendar类巧算瑞年平年

思路:将日历调整到指定年份的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天,为平年!

猜你喜欢

转载自blog.csdn.net/mmake1994/article/details/80365188
今日推荐