Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

日付

Jave初心者です。
日付を mm/dd/yyyyとinputした時にそのInputが実在する日付かどうか教えるプログラムをIf かSwitchを使って書きたいです。もちろんmmは1から12まで、ddは1月3月5月7月8月10月12月が31日まで、9月4月6月11月が30日まで、2月は28日までだが、yyyyが4で割り切れて100で割れない時は29日。と頭が混乱してます。 今、IfとSwitchを勉強中なので、この二つを駆使して書かないといけません。

4

回答

4523

閲覧

4件の回答

評価

0

その通りのことをコーディングすればいいです。
がんばってください。

評価

0

で、何を聞きたいの?

評価

0

HanaKuniさんが分かっていることと
詰まっているところを含めて整理すると、

・1月3月5月7月8月10月12月なら月末は31日
・9月4月6月11月なら月末は30日
・閏年の2月なら月末は29日
・閏年でない2月なら月末は28日

・・・ここまで分かっているなら、
ただそのままこれらを条件にIFかSwitch文を作れば
いいのではないでしょうか?

評価

0

まず、やらなくてはいけないことを幾つかの作業に分割して1つずつやるようにするべきです。

・1月なら月末は31日
・3月なら月末は31日
・5月なら月末は31日
・7月なら月末は31日
・8月なら月末は31日
・10月なら月末は31日
・12月なら月末は31日

・4月なら月末は30日
・6月なら月末は30日
・9月なら月末は30日
・11月なら月末は30日

まずはこれらを1個ずつifもしくはswitchで実現してはどうでしょう?

例えば、
if (mm == 1) {
    if (dd >= 1 && dd <= 31) {
        System.out.println("実在する日付です");
    } else {
        System.out.println("実在しない日付です");
    }
}

以上が実現できてから2月の閏年について考えればいいでしょう。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。