プロが教えるわが家の防犯対策術!

プログラミングの授業で自由にプログラムするという課題を出されたんですが、正直難しくて分かりません;;
ちなみに授業はJAVAでのプログラミングをしてます。(ソフトはAll-In-One-Eclipseです)
そこで、今日の日付と生年月日を西暦で入力して、誕生日から何日経過したかを計算するプログラムを作成したいんですが、JAVAが分かる方、教えていただけませんか?
よろしくお願いします!!

A 回答 (5件)

java.util.Calendarクラスを使う方法が楽そうな気がしますが、使わなくても



年の日数の差は
1. 西暦が4で割り切れる年は閏年である。if(year % 4 == 0) { 1年は366日 }
2. ただし100で割り切れる年は閏年ではない。if(year % 100 == 0) { 1年は365日 }
3. ただし400で割り切れる年は閏年である。if(year % 400 == 0) { 1年は366日 }
なので、分岐を使って調べることができます。

月の日数の差は配列を使って、
int [] month = {31,28,31,30,...};
といった感じで用意しておいておけば、計算できるかと。
2月はその年が閏年かどうかを考慮してうまく変えてみましょう。

日の日数の差は
ただ引くだけです。

後はそれらの差を合計すれば、何日経過したかは分かるはずです。
    • good
    • 0

私もJAVAは分かりませんが、アルゴリズムはおおよそ見当がつきます。


閏年を考慮して間の年月の日数を足せばいいだけです。
西暦が4の倍数の場合を閏年として計算すればいいでしょう(本当は1900年や2100年等は閏年ではないのですが、そこまで考慮する必要はないでしょう)。
閏年は366日、そうでない年は365日を足します。それに誕生年と今年の端数の日数を足せば経過日数になります。
    • good
    • 0

ナイス

    • good
    • 0

わからないなら、


・方法を調べて理解する

・わかる方法を使う
かです。

課題は「自由にプログラム」ですよね?だったら、 あなたが理解している範囲で作れるものを作りましょう。
それで成績が悪くても、それがあなたの現在の実力ですから仕方ありません。


また、このまま続けて質問するにしても、少しは自分で書いて、わからないところがどうわからないのか、結果がおかしいのなら、どうおかしいのか、それらを明記すれば、多少は答えがつくかもしれません。

それもまったくできない程わからないのなら、繰り返しになりますが、自分の理解度に合せたプログラムを作ってください。
    • good
    • 0

Java とか 知らないけどさぁ



>JAVAが分かる方、教えていただけませんか?

はぁ?金払って授業受けてるんだろ?
更に教わらないと解らないってどういうことよ。
金払ってるのが自分じゃないからあまり気にしてない?

ふざけてる?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!