人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

java のプルグラムでカレンダーを作成したいです。
例えば 2004年6月と 入力したら 6月分のカレンダーが出てくるのを作る課題です。 javaに詳しい方たちにお願いします。
まだ初心者なのでできればソースにコメントとかあったら嬉しいです。
すみません。こんな質問で。。

●質問者: kimu_507
●カテゴリ:ウェブ制作
✍キーワード:Java すみません カレンダー グラム コメント
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● QuestR2
●35ポイント

http://www7a.biglobe.ne.jp/~java-master/samples/datetime/Monthly...

◎質問者からの返答

とりあえず 出るようにしましたが

質問は 1、一番最初の曜日とちゃんと合わないです。曜日と数字の間Tabで空白を出すのが課題です。

2、横 、縦という入力するところがあるますが、例えば横3、縦3と入力したら横に3か月分と縦も3か月分のカレンダーが表示したいです。お願いします。

2007年5月3_3

日月火水木金土

12345

6789101112

13141516171819

20212223242526

2728293031

public class Calender {

public static void main(String[] args) throws IOException {

GregorianCalendar cal = new GregorianCalendar();

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

// キーボードから入力された文字列を変数に格納する

System.out.println("年を入力してください。");

String Year = br.readLine();

System.out.println("月を入力してください。");

String Month = br.readLine();

System.out.println("横を入力してください。");

String Width = br.readLine();

System.out.println("縦を入力してください。");

String Height = br.readLine();

int LastDay = 0, WeekCount = 0, Week = 0;

int mt[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

String day[] = { "日", "月", "火", "水", "木", "金", "土" };

// 入力チェック

if (Year.equals("") || Month.equals("") || Width.equals("")

|| Height.equals("")) {

System.out.println("入力してください");

} else {

// 文字列をint変数に格納する

int year = Integer.parseInt(Year);

int month = Integer.parseInt(Month);

int width = Integer.parseInt(Width);

int height = Integer.parseInt(Height);

// 年、月をセットします

cal.set(year, month - 1, 1);

// 月初めの曜日を取得

Week = cal.get(Calendar.DAY_OF_WEEK);

// 年月を出力する

for (int w = 1; w <= width; w++) {

System.out.println(String.valueOf(year) + "年"

+ String.valueOf(month) + "月" + String.valueOf(width)

+ "_" + String.valueOf(height));

// 曜日を出力する

for (int i = 0; i < day.length; i++) {

System.out.print(day[i] + "\t");

}

System.out.print("\n");

// 毎月最後の日付設定

if (month == 1 || month == 3 || month == 5 || month == 7 ||

month == 8 || month == 10 || month == 12) {

LastDay = 31;

} else if (month == 4 || month == 6 || month == 9 ||

month == 11) {

LastDay = 30;

} else if (year % 4 == 0 && month == 2) {

LastDay = 29;

} else if (year % 4 != 0 && month == 2) {

LastDay = 28;

}

// 最後の日付まで繰り返す

for (int i = 1; i <= LastDay;) {

// 1日の曜日と一致しなかった場合

if (i == 1 && (WeekCount < Week)) {

System.out.print("\t");

WeekCount++;

} else {

// 日付出力

System.out.print(String.valueOf(i) + "\t");

i++;

WeekCount++;

}

// 土曜日を超えた場合改行します

if (i != 1 && WeekCount > 7) {

System.out.println("\n");

WeekCount = 1;

}

}

month++;

}


2 ● IlO10l0Il
●35ポイント ベストアンサー

http://okwave.jp/qa4010288.html

こちらを参考にしてみてください。

◎質問者からの返答

有難うございます。 参考させていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ