Parcours
/
Java
Java
/
Exercices
/
Année bissextile
Année bissextile

Année bissextile

Facile

Introduction

Une année bissextile (dans le calendrier grégorien) survient :

  • Dans toute année divisible par 4.
  • À moins que l'année ne soit divisible par 100, auquel cas elle n'est bissextile que si elle est aussi divisible par 400.

Quelques exemples :

  • 1997 n'était pas une année bissextile, car elle n'est pas divisible par 4.
  • 1900 n'était pas une année bissextile, car elle n'est pas divisible par 400.
  • 2000 était une année bissextile !
Note

Pour une charmante explication de quatre minutes sur l'ensemble du phénomène des années bissextiles, regarde cette vidéo YouTube.

Instructions

Ta tâche est de déterminer si une année donnée est bissextile.

Implémentation

Avant de commencer, assure-toi de bien comprendre comment écrire du code capable de passer les cas de test. Pour plus de contexte, consulte ce tutoriel.

La plupart des exercices Java comportent plusieurs cas de test. Ces cas sont structurés pour accompagner un processus bien utile appelé développement piloté par les tests (TDD). Le TDD consiste à répéter un cycle structuré qui aide les programmeurs à construire une fonctionnalité complexe morceau par morceau plutôt que d'un seul coup. Ce cycle peut se décrire comme suit :

  1. Ajoute un test qui décrit un élément de fonctionnalité souhaité qui manque encore à ton code.
  2. Exécute les tests pour vérifier que ce test tout juste ajouté échoue.
  3. Mets à jour le code existant jusqu'à ce que :
    • tous les anciens tests continuent de passer ;
    • le nouveau test passe aussi.
  4. Nettoie ton code, en veillant à ce que tous les tests continuent de passer. Cela implique généralement de renommer des variables, de supprimer des morceaux de logique dupliqués, de supprimer des traces de journalisation oubliées, etc.
  5. Reviens à l'étape 1 jusqu'à ce que toute la fonctionnalité souhaitée soit en place !

Les fichiers de test de ce parcours contiennent tous les tests que ta solution doit réussir pour être considérée comme valide. Cela ne semble pas immédiatement compatible avec le cycle décrit plus haut, dans lequel les tests sont écrits un par un. Cependant, l'outil que nous utilisons pour écrire nos tests, JUnit, fournit une annotation @Disabled qui permet d'ignorer temporairement un test déjà écrit. Grâce à cette annotation, on s'assure que les fichiers de test que l'on te fournit respectent les règles suivantes :

  • Dans chaque fichier de test, le premier test n'est pas ignoré par défaut.
  • Dans chaque fichier de test, tous les tests sauf le premier sont ignorés par défaut.

Cela te permet de simuler le cycle du TDD en suivant ces étapes légèrement modifiées :

  1. Exécute les tests pour vérifier qu'au plus un test échoue actuellement.
  2. Mets à jour le code existant jusqu'à ce que tous les tests non ignorés passent.
  3. Nettoie ton code, en veillant à ce que tous les tests non ignorés continuent de passer.
  4. Supprime l'annotation @Disabled la plus haute dans le fichier de test.
  5. Reviens à l'étape 1 jusqu'à ce qu'aucun test ne soit ignoré et que tous les tests passent !
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Java Exercism

Prêt à commencer Année bissextile ?

Inscris-toi sur Exercism pour apprendre et maîtriser Java avec 26 concepts158 exercices, et un vrai mentorat humain, le tout gratuitement.

Analyse approfondie de Année bissextile !

Une analyse approfondie des différents algorithmes et approches que tu peux utiliser pour résoudre Leap, pendant que Jeremy et Erik explorent des solutions de la communauté intéressantes dans 10 langages différents sur Exercism.