回答編集履歴

3

バグじゃなかったですorz. Calendar定数置き換え不足修正

2019/05/08 09:17

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -30,13 +30,13 @@
30
30
 
31
31
 
32
32
 
33
- java.util.Calendar cal = Calendar.getInstance();
33
+ Calendar cal = Calendar.getInstance();
34
34
 
35
- cal.set(Calendar.YEAR, year);
35
+ cal.set(YEAR, year);
36
36
 
37
- cal.set(Calendar.MONTH, month);
37
+ cal.set(MONTH, month);
38
38
 
39
- cal.set(Calendar.DATE, 1);
39
+ cal.set(DATE, 1);
40
40
 
41
41
 
42
42
 
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- cal.add(Calendar.DATE, SUNDAY-cal.get(DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
55
+ cal.add(DATE, SUNDAY-cal.get(DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
56
56
 
57
57
  for (; cal.get(MONTH) <= month; cal.add(DATE, 1)) {
58
58
 

2

週の始まりが前年だとうるう年判定に失敗するバグ対応

2019/05/08 09:17

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -38,8 +38,6 @@
38
38
 
39
39
  cal.set(Calendar.DATE, 1);
40
40
 
41
- cal.add(Calendar.DATE, SUNDAY-cal.get(DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
42
-
43
41
 
44
42
 
45
43
  System.out.println();
@@ -54,6 +52,8 @@
54
52
 
55
53
 
56
54
 
55
+ cal.add(Calendar.DATE, SUNDAY-cal.get(DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
56
+
57
57
  for (; cal.get(MONTH) <= month; cal.add(DATE, 1)) {
58
58
 
59
59
  System.out.printf(cal.get(MONTH)<month?" ":"%2d ", cal.get(DATE));

1

Calendar 定数を import static 化

2019/05/08 09:10

投稿

jimbe
jimbe

スコア12648

test CHANGED
@@ -9,6 +9,8 @@
9
9
  import java.util.Calendar;
10
10
 
11
11
  import java.util.Scanner;
12
+
13
+ import static java.util.Calendar.*;
12
14
 
13
15
 
14
16
 
@@ -36,7 +38,7 @@
36
38
 
37
39
  cal.set(Calendar.DATE, 1);
38
40
 
39
- cal.add(Calendar.DATE, Calendar.SUNDAY-cal.get(Calendar.DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
41
+ cal.add(Calendar.DATE, SUNDAY-cal.get(DAY_OF_WEEK)); //1日が属する週の日曜日の日付. ex)2019/5/1→2019/4/28
40
42
 
41
43
 
42
44
 
@@ -52,11 +54,11 @@
52
54
 
53
55
 
54
56
 
55
- for (; cal.get(Calendar.MONTH) <= month; cal.add(Calendar.DATE, 1)) {
57
+ for (; cal.get(MONTH) <= month; cal.add(DATE, 1)) {
56
58
 
57
- System.out.printf(cal.get(Calendar.MONTH)<month?" ":"%2d ", cal.get(Calendar.DATE));
59
+ System.out.printf(cal.get(MONTH)<month?" ":"%2d ", cal.get(DATE));
58
60
 
59
- if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) System.out.println();
61
+ if (cal.get(DAY_OF_WEEK) == SATURDAY) System.out.println();
60
62
 
61
63
  }
62
64