うるう年を計算するための Java コード: 2 つのアプローチの比較
うるう年の計算は、一般的なコーディング演習です。多くの場合、2 つのアプローチが登場します。1 つは「The Art and Science of Java」で紹介されているもので、もう 1 つは一般的に使用されている解決策です。
「The Art and Science of Java」からのコード
boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));
このコードは、年が 4 で割り切れるが 100 で割り切れないか、または 400 で割り切れるかどうかをチェックします。ロジックは機能しますが、不必要に複雑です。
改良されたコード
if ((year % 4 == 0) && year % 100 != 0) { println(year + " is a leap year."); } else if ((year % 4 == 0) && (year % 100 == 0) && (year % 400 == 0)) { println(year + " is a leap year."); } else { println(year + " is not a leap year."); }
この改良されたコードは、ロジックを 2 つの条件 (4 で割り切れる年と割り切れない年) に分割することで簡素化します。 100 は閏年であり、400 で割り切れる年も閏年です ( 100)。このコードは、より読みやすく、簡潔です。
代替ソリューション
public static boolean isLeapYear(int year) { return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0); }
この代替ソリューションは、2 つの個別の条件を 1 つのより効率的な式に結合します。これは、そのシンプルさとパフォーマンスのため、最も一般的に使用されるアプローチです。
どのコードが最適ですか?
改善されたコードが最良の選択であり、次のバランスが取れています。読みやすさと効率性。これは理解しやすく、ほとんどのうるう年の計算で適切に実行されます。ただし、パフォーマンスが主な懸念事項である場合は、代替ソリューションも依然として有効なオプションです。
以上がうるう年を決定するのに最適な Java コードは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。