一、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;
}
}
}
}