Tracks
/
Java
Java
/
Übungen
/
Schaltjahr
Schaltjahr

Schaltjahr

Einfach

Einführung

Ein Schaltjahr (im gregorianischen Kalender) tritt auf:

  • In jedem Jahr, das ohne Rest durch 4 teilbar ist.
  • Es sei denn, das Jahr ist ohne Rest durch 100 teilbar; dann ist es nur dann ein Schaltjahr, wenn das Jahr auch ohne Rest durch 400 teilbar ist.

Einige Beispiele:

  • 1997 war kein Schaltjahr, da es nicht durch 4 teilbar ist.
  • 1900 war kein Schaltjahr, da es nicht durch 400 teilbar ist.
  • 2000 war ein Schaltjahr!
Note

Eine wunderbare, vierminütige Erklärung des gesamten Phänomens der Schaltjahre findest du in diesem YouTube-Video.

Anleitung

Deine Aufgabe ist es, zu bestimmen, ob ein gegebenes Jahr ein Schaltjahr ist.

Implementierung

Bevor du anfängst, stelle sicher, dass du weißt, wie du Code schreibst, der die Testfälle besteht. Für mehr Hintergrund schau dir dieses tutorial an.

Die meisten Java-Übungen enthalten mehrere Testfälle. Diese Fälle sind so aufgebaut, dass sie einen nützlichen Prozess unterstützen, der als testgetriebene Entwicklung (TDD) bekannt ist. Bei TDD wiederholst du einen strukturierten Zyklus, der Programmierenden hilft, komplexe Funktionalität Stück für Stück statt auf einmal aufzubauen. Dieser Zyklus lässt sich so beschreiben:

  1. Füge einen Test hinzu, der einen Teil der gewünschten Funktionalität beschreibt, der in deinem Code gerade noch fehlt.
  2. Führe die Tests aus, um zu prüfen, dass dieser neu hinzugefügte Test fehlschlägt.
  3. Aktualisiere deinen vorhandenen Code, bis:
    • alle alten Tests weiterhin bestehen;
    • auch der neue Test besteht.
  4. Räume deinen Code auf und stelle sicher, dass alle Tests weiterhin bestehen. Das bedeutet typischerweise, Variablen umzubenennen, doppelte Logikblöcke zu entfernen, übrig gebliebenes Logging zu entfernen usw.
  5. Kehre zu Schritt 1 zurück, bis die gesamte gewünschte Funktionalität umgesetzt ist!

Die Testdateien in diesem Track enthalten alle Tests, die deine Lösung bestehen muss, um als gültig zu gelten. Das scheint zunächst nicht zu dem oben beschriebenen Zyklus zu passen, in dem die Tests einzeln geschrieben werden. Allerdings bietet das Tool, mit dem wir unsere Tests schreiben, JUnit, eine @Disabled-Annotation, mit der sich ein bereits geschriebener Test vorübergehend überspringen lässt. Mit dieser Annotation sorgen wir dafür, dass die Testdateien, die wir dir liefern, die folgenden Regeln erfüllen:

  • Der erste Test in einer Testdatei wird standardmäßig nicht übersprungen.
  • Alle Tests außer dem ersten in jeder Testdatei werden standardmäßig übersprungen.

So kannst du den TDD-Zyklus simulieren, indem du diese leicht abgewandelten Schritte befolgst:

  1. Führe die Tests aus, um zu prüfen, dass derzeit höchstens ein Test fehlschlägt.
  2. Aktualisiere deinen vorhandenen Code, bis alle nicht übersprungenen Tests bestehen.
  3. Räume deinen Code auf und stelle sicher, dass alle nicht übersprungenen Tests weiterhin bestehen.
  4. Entferne die oberste @Disabled-Annotation in der Testdatei.
  5. Kehre zu Schritt 1 zurück, bis keine Tests mehr übersprungen werden und alle Tests bestehen!
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Java Exercism

Bereit, mit Schaltjahr zu starten?

Melde dich bei Exercism an, um Java mit 26 Konzepte158 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.

Tauche tiefer in Schaltjahr ein!

Tauche ein in die verschiedenen Algorithmen und Ansätze, mit denen du die Übung Schaltjahr lösen kannst. Jeremy und Erik erkunden dabei interessante Community-Lösungen in 10 verschiedenen Sprachen auf Exercism.