Advanced   Java   Services JAVA-Praktikum Back Next Up Home
Anlegen einer Datumsklasse

Schreiben Sie eine Klasse Datum, die Methoden zum Thema Datum bereitstellt. Siehe auch  Gregorianischer und julianischer Kalender

Einige Vorschläge für Methoden:

  • public static boolean isLeapYear(int jahr) Überprüft, ob die übergebene Zahl ein Schaltjahr darstellt.
  • public static boolean isDate(int tag, int mon, int jahr) Überprüft, ob das übergebene Datum ein gültiges Datum darstellt.
  • public static int getDayOfTheWeek( int tag, int monat, int jahr ) Ermittelt den Wochentag zu einem Datum.
  • public static int[] getEaster(int jahr) Ermittelt den Ostersonntag zu einem übergebenen Jahr.

Wer die Übung Kalenderberechnungen gemacht hat, braucht diese Methoden lediglich in eine neue Klasse kopieren.

Die Klasse soll später so ausgebaut werden, daß man auch Objekte von ihrem Typ anlegen kann.

Wer auch noch das Pfingstdatum ermitteln will, kann zusätzlich eine Methode public static int[] getWhitSun(int jahr) oder public static int[] getPfingsten(int jahr) schreiben.

Dazu habe ich aus der Gauß'schen Osterformel eine Pfingstformel gemacht.

Pfingstformel (ohne Gewähr...)

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3  r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt : Pfingsten ist am 06.Juni

d==29 und e==6 , so gilt : Pfingsten ist am 07.Juni

ansonsten gilt

ist d+e<22, so ist Pfingsten am (10+d+e).Mai

ist d+e>=22, so ist Pfingsten am (d+e-21).Juni

Valid XHTML 1.0 Strict Lösung top Back Next Up Home