题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
整个 20 世纪(1901 年 1 月 1 日至 2000 年 12 月31 日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
题解
利用日期类 Calendar 获取一个 Calendar 实例设置初始日期,年,日一样,月份从0~11,所以设置日期时 calendar.set(1901, 0, 1);使用while循环,获取到年月日星期,星期的第一天是星期日,所以星期一是从 2 开始,当 weeks == 2 时 count++记录星期一出现的次数。当满足2000-12-31时跳出循环。
/*
* @see #SUNDAY
* @see #MONDAY
* @see #TUESDAY
* @see #WEDNESDAY
* @see #THURSDAY
* @see #FRIDAY
* @see #SATURDAY
*/
//public static final int DAY_OF_WEEK = 7;
*/
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(1901, 0, 1);
int count = 0;
boolean flag = true;
while(flag) {
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int weeks = calendar.get(Calendar.DAY_OF_WEEK);
int day = calendar.get(Calendar.DAY_OF_MONTH);
if(weeks == 2) {
count++;
}
if(year == 2000 && (month+1) == 12 && day == 31) {
flag = false;
}
calendar.add(Calendar.DATE, 1);
}
System.out.println(count);
}