• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2004年の前のうるう年をjavaで表せが出来ませ)

2004年の前のうるう年をjavaで表せが出来ません

このQ&Aのポイント
  • 大学の講義で出題されましたが、javaで『1996年』を表示させる方法が分かりません。
  • うるう年の判定のプログラムまでは組めたのですが、前の年ということで、うるう年である2004年で表示させるのができません。
  • 初めての投稿ですが、どう組むべきか教えてください。以下が組んだプログラムです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

&が&&だとして。 このプログラムだと、 preleap(n)と指定したら、n年から調べ始めている、ということはおわかりですか? 指定されたn年は判定の必要がないので、その前の年から調べればよいはずです。 ちょっと変えて、「nの一年前がうるう年かどうか」を調べるプログラムならどうなるでしょう? やりかたは、いくつかあります。

usamiiii
質問者

お礼

こんな夜遅くの質問に早いお返事ありがとうございます。 その年を含みたくないなら、その前の年から考えろということですね おかげでうまく表示することができました。 ありがとうございます。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.2

4で割り切れると閏年、但し100で割り切れると閏年ではない、が400で割り切れると閏年 public static int preleap(int n){ if ( 0 == n%4 ) { if ( 0 == n%100 ) { if ( 0 == n%400 ) { return n; } else { return preleap(n-1); } } else { return n; } } else { return preleap(n-1); } }

usamiiii
質問者

お礼

お早いお返事ありがとうございます。 けれどもすみません、これだとやっぱり2004年をnとしたとき値が2004と返ってきてしまいました。 けれども解決はできましたので、ありがとうございました。

関連するQ&A