蓝桥杯真题【世纪末的星期】
import java.time.Year;
import java.util.Calendar;
import javax.sound.midi.Soundbank;
public class java_2013_a1 {
public static void main(String[] args) {
/*
*
* 题目:世纪末的星期
* https://www.lanqiao.cn/problems/720/learning/
*
* 思路:
* 调用java的日历api Calendar类,只有给它赋以日期的值才能知道是星期几,
* 然后用Calendar类计算每过一百年的12月31日是否正好是星期天。
*
* 答案:
* 2299
*
*/
Calendar calendar = Calendar.getInstance();
// 从1999年开始每100年遍历
for (int year = 1999; year < 10000; year += 100) {
// 赋以日期
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, 11); // 注意Calendar类的月是从0-11计数
calendar.set(Calendar.DAY_OF_MONTH, 31); // Calendar类的日是从1-31计数
// 检查日期对应的是否是星期日(Calendar.DAY_OF_WEEK的1-7对应周日-周六)
if (calendar.get(Calendar.DAY_OF_WEEK) == 1) {
System.out.println(year);
break;
}
}
}
}