JAVA利用Calendar方法解决“计算二十世纪有多少星期天落在每月一号”问题
首先讲一下我对Calendar理解,首先这是一个很强的API,使用Calendar的情况下不需要考虑有关闰年、月份等等,题目中定义二十世纪(1901年1月1号—2000年12月31号)并且,规定每个月一号和星期天重合
设定每月1号 cc.set(Calendar.DAY_OF_MONTH, 1);
设定时间段 for(int i = 1901;i<=2000;i++)
强大的API性质让我们无需考虑每月长短不同,是否闰年等很多问题,所以肥肠容易解决这类问题,可以说万能模板:
package Lanqiao2020;
import java.util.Calendar;
public class L拓展题二十世纪有多少星期天落在每月的一号 {
public static void main(String[] args) {
int ans = 0;
Calendar cc = Calendar.getInstance();
cc.set(Calendar.DAY_OF_MONTH, 1);
for(int i = 1901;i<=2000;i++){
cc.set(Calendar.YEAR,i);
for(int j = 0;j <= 11;j++){
cc.set(Calendar.MONTH,j);
System.out.println(i+" "+j+" "+cc.get(Calendar.DAY_OF_WEEK));
if (cc.get(Calendar.DAY_OF_WEEK)==1) {
ans++;
}
}
}
System.out.println(ans);}
}
答案:171