在二十世纪(1901年1月1日到2000年12月31日)中,有多少个月的1号是星期天?
已知1900年1月1日是星期一
public class SumOfSunday {
public static void main(String[] args) {
System.out.println(getDay());
}
public static int getDay() {
int a[] = new int[50000];
int sum = 0;
int n = 1;
for (int year = 1900;year <= 2000;year++) {
for (int month = 1;month <= 12;month++)
for (int j = 1;j <= getMonth(year,month);j++) {
a[n] = j;
n++;
}
}
for (int i = 366;i <= n-30;i++)
if (i % 7 == 0 && a[i] == 1)
sum++;
return sum;
}
public static int getMonth(int year,int month) {
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
return 31;
if (month == 4 || month == 6 || month == 9 || month == 11)
return 30;
if (month == 2 && (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
return 29;
return 28;
}
}
该代码实现了一个程序,用于计算1901年至2000年间有多少个月的第一天是星期天。程序首先初始化一个数组并逐月填充日期,然后检查每个月的1号是否为星期天,并累加符合条件的月份。最后返回总和。
836

被折叠的 条评论
为什么被折叠?



