studyklar
GdI 1 · Übungsblatt 5 · Aufgabe 4

Schaltjahr erkennen: Teilbarkeit und verknüpfte Bedingungen in Java

Nicht jedes durch 4 teilbare Jahr ist ein Schaltjahr. Erst wird die genaue Regel geklärt und an vier Jahren von Hand geprüft. Dann wird daraus eine einzige Bedingung in Java, mit dem Rest-Operator % und den Verknüpfungen && und ||. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 5.4

Schreiben Sie ein Java-Programm A5_4, das für eine einzugebende Jahreszahl n (natürliche Zahl) testet, ob es sich um ein Schaltjahr handelt. Recherchieren Sie dazu zunächst, unter welchen Bedingungen die Jahreszahl n ein Schaltjahr darstellt.

Das Programm liest eine Jahreszahl nn ein, zum Beispiel 2024, und gibt aus, ob nn ein Schaltjahr ist. Ein Schaltjahr hat 366 statt 365 Tage, mit dem 29. Februar. Bevor programmiert wird, muss die Regel klar sein; die Aufgabe verlangt, sie zu recherchieren.

Als Testjahre nehmen wir 2024, 1900, 2000 und 2025: Sie decken jede Regel einmal ab. Die Aufgabe gibt keine Jahre vor.

  1. Die Regel in drei Teilen klären und an den Testjahren prüfen.
  2. Teilbarkeit in Java mit dem Rest-Operator ausdrücken.
  3. Die drei Teile zu einer Bedingung verbinden.
  4. Programm schreiben und mit den Testjahren laufen lassen.

Regel 1: durch 4 teilbar

Ist n durch 4 teilbar, ist n ein Schaltjahr …

Die Erde braucht für eine Runde um die Sonne etwa 365¼ Tage. Ein Kalenderjahr hat aber ganze Tage. Darum bekommt jedes vierte Jahr einen Tag mehr: Nach vier Jahren sind die vier Viertel zu einem Tag aufgelaufen.

Jedes vierte Jahr heißt: Die Jahreszahl ist durch 4 teilbar. 2024, 1900 und 2000 sind es (2024 = 4 · 506), 2025 nicht (2025 = 4 · 506 + 1).

Regel 2: aber nicht durch 100

… außer n ist durch 100 teilbar, dann nicht …

Ein Sonnenjahr dauert genauer etwa 365,2422 Tage, also etwas weniger als 365¼. Mit Regel 1 allein wäre das Kalenderjahr im Mittel 365,25 Tage lang, um 0,0078 Tage zu lang. In etwa 128 Jahren wächst das auf einen ganzen Tag an (1 / 0,0078 ≈ 128): Die Jahreszeiten verschieben sich gegenüber dem Kalender. Darum fällt der Schalttag in den vollen Jahrhunderten weg: Ist die Jahreszahl durch 100 teilbar, ist sie kein Schaltjahr. Das trifft 1900 und 2000.

Noch 7 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Abbildung 1Die Regel

gregorianischer Kalender

Jahr ndurch 4 teilbar?durch 100 teilbar?durch 400 teilbar?Schaltjahr?
2024????
1900????
2000????
2025????
Legendegerade geprüfte SpalteDie vier Testjahre und die drei Regeln.