曾有邪教称1999年12月31日是世界末日。当然该谣言已经不攻自破。还有人称今后的某个世纪末的12月31日,如果是星期一则会....
有趣的是,任何一个世纪末的年份的12月31日都不可能是星期一!! 于是,“谣言制造商”又修改为星期日......
1999年的12月31日是星期五,请问:未来哪一个离我们最近的一个世纪末年(即xx99年)的12月31日正好是星期天(即星期日)?
请回答该年份(只写这个4位整数,不要写12月31等多余信息)
这道题考的是对日期类的应用——Calendar类
这个类大家可以在网上查找并阅读理解
下面的代码里的部分解释是我对原码的一些理解,可能会出现错误,如果有不对的地方望指正
import java.util.Calendar;
public class _01_世纪末的星期几 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
for (int year = 1999; year < 10000; year+=100) {//因为是世纪末,所以一次加100年
calendar.set(Calendar.YEAR,year);//获取年,这个年就是循环的年份
/*
下面俩行意思就是获取到这一年,然后获取这年的12月,在获取12月的31号
*/
calendar.set(Calendar.MONTH,11);//1月是从0开始记录
calendar.set(Calendar.DAY_OF_MONTH,31);//从1号到31号,注释DAY_OF_MONTH就是1号开始,The first day of the month has value 1.
/*
获取到最后一天31号,就判断这天在这周是不是星期日
*/
if(calendar.get(Calendar.DAY_OF_WEEK)==1){//DAY_OF_WEEK是按周记录,注释里星期日是1,然后类推到7
System.out.println(year);
break;
}
}
}
}
最后输出——2299