一、Problem
已知今年是某某年,该年的第 300 天是星期二,明年(某某年的下一年)的第 200 天还是星期二,请计算出去年(某某年的前一年)年的第 100 天是星期几?
二、Solution
方法一:日期 API
佛乐,这种题算起来真的很麻烦。
注,日期 API 要记的不仅仅是 get,set 方法,一些如下的静态变量也是要会的:
- Calendar.DAY_OF_WEEK
- Calendar.DAY_OF_MONTH
- Calendar.DAY_OF_WEEK_IN_MONTH
…
import java.util.*;
import java.math.*;
import java.io.*;
public class Main{
public static void main(String[] args) {
for (int i = 1; i < 3000; i++) {
Calendar a = Calendar.getInstance();
a.set(i, 1, 299);
Calendar b = Calendar.getInstance();
b.set(i+1, 1, 199);
if (a.get(Calendar.DAY_OF_WEEK) == 2 && 2 == b.get(Calendar.DAY_OF_WEEK)) {
Calendar c = Calendar.getInstance();
c.set(i-1, 1, 99);
System.out.println(c.get(Calendar.DAY_OF_WEEK));
break;
}
}
}
}