题目:
整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
分析:
要知道有多少星期一,就要从起始日开始,遍历取模0就是星期一,如果起始日是星期日,那么直接遍历就好了,如果是别的那就减到星期日再遍历。起始日的星期用cadendar日历函数来求
步骤:
![](https://img-blog.csdnimg.cn/img_convert/67739f1c920d1c6126213c4566fffd43.png)
package a28;
import java.util.Calendar;
public class 星期一 {
public static void main(String[] args) {
// 整个20世纪(1901年1月1日至2000年12月31日之间),一共有多少个星期一?(不要告诉我你不知道今天是星期几)
Calendar instance = Calendar.getInstance();
instance.set(1901, 0, 1);
System.out.println("起始日是"+"星期"+instance.get(Calendar.DAY_OF_WEEK));//判断起始日期是星期几
int allDays = 0;
for (int i = 1901; i <= 2000; i++){
// 判断是不是闰年
if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)){
allDays += 366;
}else{
allDays += 365;
}
}
// 1901-1-1 为周三,减去三天就是星期日,下一天星期一
allDays-=3;
int countMonday = 0;
// 接下来的第一天就是星期一
for (int i = 1; i <=allDays; i++) {
if (i%7==0) {
countMonday++;
}
}
System.out.println(countMonday);
}
}