回答編集履歴

1

追加

2015/10/08 16:10

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -1,3 +1,53 @@
1
1
  桁合わせのためです.
2
2
 
3
3
  そのコードが無い状態で実行するとわかりますが,カレンダー表示がずれます.
4
+
5
+ このコードがやっているのは,
6
+
7
+ 0. 現在時刻に設定されたGregorianCalendarオブジェクトを作成し,今日の月日を取得
8
+
9
+ 0. Calendar.DAY_OF_MONTHフィールドを1,つまり今月の1日に設定する
10
+
11
+ 0. doループで今月のカレンダーを出力する.ループ内で日付を1日ずつ加え,月が変わるまで続ける
12
+
13
+ ご質問のif文は「日が1桁の場合」という条件分岐です.カレンダーを表示する関係上,1桁の日付は先頭を空白で埋めないとずれてしまうのです.試しにそのif文があるのと無いのとでは次のように出力が変わります.
14
+
15
+
16
+
17
+ ifなし
18
+
19
+ ```
20
+
21
+ Sun Mon Tue Wed Thu Fri Sat
22
+
23
+ 1 2 3
24
+
25
+ 4 5 6 7 8* 9 10
26
+
27
+ 11 12 13 14 15 16 17
28
+
29
+ 18 19 20 21 22 23 24
30
+
31
+ 25 26 27 28 29 30 31
32
+
33
+ ```
34
+
35
+
36
+
37
+ ifあり
38
+
39
+ ```
40
+
41
+ Sun Mon Tue Wed Thu Fri Sat
42
+
43
+ 1 2 3
44
+
45
+ 4 5 6 7 8* 9 10
46
+
47
+ 11 12 13 14 15 16 17
48
+
49
+ 18 19 20 21 22 23 24
50
+
51
+ 25 26 27 28 29 30 31
52
+
53
+ ```