- ベストアンサー
Javaコマンドライン引数を利用したカレンダー
- Javaのコマンドライン引数を利用して、指定した年月のカレンダーを表示するプログラムを作成したいです。
- 具体的には、args[0]に指定した文字列を年月として解釈し、そのカレンダーを表示する形式にしたいです。
- 実装中に、曜日と日付を連結させる方法が分からなくて困っています。どのようなメソッドを使えば良いでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ならこれで。 public class CalShow { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ java.util.Calendar cal = java.util.Calendar.getInstance(); //コマンドライン引数の前4桁をyear、 int year = Integer.parseInt(args[0].substring(0, 4)); //後ろ2桁をmonthとしてそれぞれintで定義 int month = Integer.parseInt(args[0].substring(4)); System.out.println( year + "年" + month + "月"); System.out.println(" 日 月 火 水 木 金 土"); cal.set(year, month - 1, 1); int startDay = cal.get(java.util.Calendar.DAY_OF_WEEK); cal.add(java.util.Calendar.MONTH, 1); cal.add(java.util.Calendar.DATE, -1); int lastDay = cal.get(java.util.Calendar.DATE); if(startDay!=7) for(int i=1 ;i<startDay;i++) System.out.print(" "); int x=1; for(int i=startDay;i<=7;i++) { if(x<10) System.out.print(" "); System.out.print(" "+x); x++; } System.out.println(""); for(int j=1;j<7;j++){ for(int k=0;k<7;k++){ if(x<=lastDay){ if(x<10) System.out.print(" "); System.out.print(" "+x); x++; } } System.out.println(""); } } }
お礼
またもお答えくださいましてありがとうございました><;; 大変助かりました…!