質問編集履歴
2
コードの変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,29 +13,35 @@
|
|
13
13
|
どうしても処理が難読化してしまうためスマートな方法はありますでしょうか?
|
14
14
|
|
15
15
|
```java
|
16
|
+
import java.util.ArrayList;
|
16
17
|
import java.util.Calendar;
|
17
18
|
|
18
19
|
public class Test3 {
|
19
20
|
|
20
21
|
public static void main(String[] args) {
|
21
22
|
// TODO 自動生成されたメソッド・スタブ
|
22
|
-
|
23
|
+
|
23
24
|
String fromym = "201501";
|
24
25
|
String toym = "201601";
|
25
|
-
|
26
|
+
ArrayList<String> yms = new ArrayList<String>(10);
|
26
27
|
Calendar calendar = Calendar.getInstance();
|
27
|
-
calendar.set(Integer.valueOf(fromym.substring(0,4)), Integer.valueOf(fromym.substring(4)), 1);
|
28
|
+
calendar.set(Integer.valueOf(fromym.substring(0, 4)), Integer.valueOf(fromym.substring(4)) - 1, 1);
|
28
|
-
|
29
|
+
|
29
|
-
//最初の年月の確認
|
30
|
+
// 最初の年月の確認
|
31
|
+
System.out.println(String.valueOf(calendar.get(Calendar.YEAR))
|
30
|
-
|
32
|
+
+ String.format("%02d", (calendar.get(Calendar.MONTH) + 1)));
|
33
|
+
|
31
|
-
|
34
|
+
while (!toym.equals(String.valueOf(calendar.get(Calendar.YEAR))
|
32
|
-
|
35
|
+
+ String.format("%02d", (calendar.get(Calendar.MONTH) + 1)))) {
|
33
|
-
//一月増やす
|
36
|
+
// 一月増やす
|
34
37
|
calendar.add(Calendar.MONTH, 1);
|
38
|
+
yms.add(String.valueOf(calendar.get(Calendar.YEAR))
|
39
|
+
+ String.format("%02d", (calendar.get(Calendar.MONTH) + 1)));
|
35
40
|
}
|
36
|
-
//
|
41
|
+
// 出力して確認
|
42
|
+
for (String ym : yms) {
|
37
|
-
|
43
|
+
System.out.println(ym);
|
38
|
-
|
44
|
+
}
|
39
45
|
}
|
40
46
|
|
41
47
|
}
|
1
コードの追加しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -10,4 +10,36 @@
|
|
10
10
|
2016/01と
|
11
11
|
出力したいのですが
|
12
12
|
カレンダークラスを使用してListを使う方法はわかりますが
|
13
|
-
どうしても処理が
|
13
|
+
どうしても処理が難読化してしまうためスマートな方法はありますでしょうか?
|
14
|
+
|
15
|
+
```java
|
16
|
+
import java.util.Calendar;
|
17
|
+
|
18
|
+
public class Test3 {
|
19
|
+
|
20
|
+
public static void main(String[] args) {
|
21
|
+
// TODO 自動生成されたメソッド・スタブ
|
22
|
+
|
23
|
+
String fromym = "201501";
|
24
|
+
String toym = "201601";
|
25
|
+
|
26
|
+
Calendar calendar = Calendar.getInstance();
|
27
|
+
calendar.set(Integer.valueOf(fromym.substring(0,4)), Integer.valueOf(fromym.substring(4)), 1);
|
28
|
+
|
29
|
+
//最初の年月の確認
|
30
|
+
System.out.println(String.valueOf(calendar.get(Calendar.YEAR)) + String.format("%02d", (calendar.get(Calendar.MONTH))));
|
31
|
+
|
32
|
+
while (!toym.equals(String.valueOf(calendar.get(Calendar.YEAR)) + String.format("%02d", (calendar.get(Calendar.MONTH))))) {
|
33
|
+
//一月増やす
|
34
|
+
calendar.add(Calendar.MONTH, 1);
|
35
|
+
}
|
36
|
+
//最後の年月の確認
|
37
|
+
System.out.println(String.valueOf(calendar.get(Calendar.YEAR)) + String.format("%02d", (calendar.get(Calendar.MONTH))));
|
38
|
+
|
39
|
+
}
|
40
|
+
|
41
|
+
}
|
42
|
+
|
43
|
+
```
|
44
|
+
|
45
|
+
このようになり、かなり分かりづらくなってしまうのでもう少しわかりやすくしたいのです。
|