問題在於For循環的判斷部分
for(int i = 1800; i <= year; i++)
for(int i = 1; i <= month; i++ )
都應該是 <, 而不是 <=
我是在加入
System.out.println(getStartDay(1800,1));
之後發現值不是3,
然後又加入了
System.out.println(getTotalNumberOfDays(1800,1));
發現不是0之後發現了是這個原因.
確實是邏輯上的錯誤
妳要計算從1800年到某壹年用了幾天,也不能把這壹年的天數加進去.
同理,妳要計算某個月第壹天是周幾不能把這個月天數也加進去.
順便同意壹下2樓的意見,雖然這樣做著玩是很好,不過用Calendar直接有方法可以找到某年某月某壹天是星期幾.