teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

誤って消去した部分を修正

2016/04/18 06:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -33,17 +33,28 @@
33
33
  }
34
34
  }
35
35
 
36
- //9日までのループカウンタ
37
36
  int day = 1;
38
37
  for(int i = startDay; i <= 7; i++) {
39
38
  if(day < 10){
40
39
  System.out.print(" ");
41
40
  }
42
41
  System.out.print(" "+ day);
42
+ day ++;
43
+ }
44
+
45
+ System.out.println("");
46
+
47
+ for(int j = 1; j < 7; j++){
48
+ for(int k = 0; k < 7; k++){
49
+ if(day <= lastDay){
50
+ if(day < 10){
51
+ System.out.print(" ");
52
+ }
53
+ System.out.print(" "+ day);
43
54
  day ++;
44
55
  }
45
56
  }
46
57
  System.out.println("");
47
- }
58
+ }
48
59
  }
49
60
  }

2

最終日取得方法書き換えいたしました。

2016/04/18 06:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -25,36 +25,21 @@
25
25
  //月初日が何曜日なのか設定
26
26
  int startDay = cal.get(java.util.Calendar.DAY_OF_WEEK);
27
27
 
28
- //カレンダーを一月進めて一日戻るとその月の最終日が出る
29
- cal.add(java.util.Calendar.MONTH, 1);
30
- cal.add(java.util.Calendar.DATE, -1);
28
+ int lastDay = cal.getActualMaximum(java.util.Calendar.DATE);
31
29
 
32
- int lastDay = cal.get(java.util.Calendar.DATE);
33
-
34
30
  if(startDay != 7){
35
31
  for(int i = 1 ; i < startDay; i++ ){
36
32
  System.out.print(" ");
37
33
  }
38
34
  }
39
35
 
36
+ //9日までのループカウンタ
40
37
  int day = 1;
41
38
  for(int i = startDay; i <= 7; i++) {
42
39
  if(day < 10){
43
40
  System.out.print(" ");
44
41
  }
45
42
  System.out.print(" "+ day);
46
- day ++;
47
- }
48
-
49
- System.out.println("");
50
-
51
- for(int j = 1; j < 7; j++){
52
- for(int k = 0; k < 7; k++){
53
- if(day <= lastDay){
54
- if(day < 10){
55
- System.out.print(" ");
56
- }
57
- System.out.print(" "+ day);
58
43
  day ++;
59
44
  }
60
45
  }

1

質問に追記いたしました。

2016/04/18 06:36

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,6 @@
1
+ 追記:JDKのバージョンは1.6.0_19です。
2
+ そして指示によりimportは使用できないようになっています。
3
+ *******************
1
4
  コマンドライン引数で年月の値を引き渡し(201604の様に6桁で)、それでカレンダーを表示させるプログラムを考えています。
2
5
 
3
6
  一応理想の形で表示させることが出来るようになったのですが、もっと『ここはこうするべき』『こうした方がスマートで分かりやすい』『最初から大幅にやり直すべき』などご指摘がございましたら是非お願いいたします!