回答編集履歴

2

ちょっと。

2017/11/10 05:46

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
 
12
12
 
13
- れでは2017年の正月からの経過日数になってしまいます。
13
+ の加算をしてしまうと、countは2017年の正月からの経過日数になってしまいます。
14
14
 
15
- その状態で2018年用の曜日テーブル
15
+ その状態で2018年用の曜日テーブルである、
16
16
 
17
17
 
18
18
 
@@ -24,7 +24,7 @@
24
24
 
25
25
 
26
26
 
27
- を使用しているため曜日もずれています。
27
+ を使用しているため曜日もずれてしまっています。
28
28
 
29
29
 
30
30
 

1

大幅修正。

2017/11/10 05:46

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,9 +1,45 @@
1
- count初期値は0では?
1
+ 例えば2018年場合、
2
2
 
3
3
 
4
4
 
5
5
  ```java
6
6
 
7
- int count = 0;
7
+ count=count + (2018-2017)*365;
8
8
 
9
9
  ```
10
+
11
+
12
+
13
+ これでは2017年の正月からの経過日数になってしまいます。
14
+
15
+ その状態で、2018年用の曜日テーブル
16
+
17
+
18
+
19
+ ```java
20
+
21
+ String[] week= {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
22
+
23
+ ```
24
+
25
+
26
+
27
+ を使用しているため、曜日もずれています。
28
+
29
+
30
+
31
+ # 「その年の正月からの経過日数」の場合
32
+
33
+
34
+
35
+ 「年」に対する日数を加算する必要はありませんので、`count=count + (2018-2017)*365;`を削除すればいいです。
36
+
37
+
38
+
39
+ # 「2017年の正月からの経過日数」の場合
40
+
41
+
42
+
43
+ 「年」に対する日数の加算はそのままでかまいません。
44
+
45
+ countは2017年の正月からの経過日数ですので、曜日テーブルも2017年用を使えばいいです。