Code Java pour calculer les années bissextiles : comparaison de deux approches
Le calcul des années bissextiles est un exercice de codage courant. Deux approches sont souvent rencontrées : l'une présentée dans « L'art et la science de Java » et l'autre solution couramment utilisée.
Code issu de « L'art et la science de Java »
boolean isLeapYear = ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0));
Ce code vérifie si l'année est divisible par 4 mais pas divisible par 100, ou si elle est divisible par 400. Bien que cette logique fonctionne, c'est inutilement complexe.
Code amélioré
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."); }
Ce code amélioré simplifie la logique en la divisant en deux conditions : les années divisibles par 4 mais pas par 100 sont des années bissextiles, et les années divisibles par 400 sont également des années bissextiles (bien qu'elles soient divisibles par 100). Ce code est plus lisible et concis.
Solution alternative
public static boolean isLeapYear(int year) { return year % 400 == 0 || (year % 100 != 0 && year % 4 == 0); }
Cette solution alternative combine les deux conditions distinctes en une seule expression plus efficace. Il s'agit de l'approche la plus couramment utilisée en raison de sa simplicité et de ses performances.
Quel code est le meilleur ?
Le code amélioré est le meilleur choix, établissant un équilibre entre lisibilité et efficacité. Il est simple à comprendre et fonctionne bien pour la plupart des calculs d’années bissextiles. Toutefois, la solution alternative reste une option valable si la performance est une préoccupation primordiale.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!