题目
以下是一些已知信息,但是或许你需要自己做一些其他的调查。
1900年1月1日是星期一。
30天的月份有:9月,4月,6月,11月。
此外的月份都是31天,当然2月除外。
2月在闰年有29天,其他时候有28天。
年份可以被4整除的时候是闰年,但是不能被400整除的世纪年(100的整数倍年)除外。
20世纪(1901年1月1日到2000年12月31日)一共有多少个星期日落在了当月的第一天?
解题方法
可以调用编程工具的日历类,计算每个月的第一天是不是周日,是的话就在计数器上加1。
不懂这个类的使用方法的可以点击查看中文API
程序
public static void solve() {
GregorianCalendar calendar =
new GregorianCalendar(1901, Calendar.JANUARY, 1);
int count = 0, year = 0;
do {
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.SUNDAY) {
count++;
}
year = calendar.get(Calendar.YEAR);
calendar.add(Calendar.MONTH, 1);
} while (year < 2001);
System.out.println(count);
}