1064 Check Datumsueberpruefung
Kategorie:Datum
Klasse:leicht
Eingabe:String
Ausgabe:siehe Spez
Abzugebende Files: Check.txt, Check.java

Kurzbeschreibung:

Ein String soll eingelesen werden, der ein Datum enthält; die Gültigkeit dieses Datums soll überprüft werden.

Allgemeine Hinweise:

Aufgabenstellung:

Lesen Sie einen String ein, der ein Datum enthält. Dieses Datum muß in folgendem Format vorliegen:

TT.MM.JJ

Hierbei ist zu beachten, daß in den Eingabedaten jede der Komponenten Tag, Monat und Jahr zweistellig angegeben sein muß, also gegebenenfalls mit führender Null.

Ihr Programm soll prüfen, ob es sich dabei um ein gültiges Datum handelt.
Achten Sie insbesondere darauf, ob der Tag zum Monat paßt; es gibt einen 31. März, aber keinen 31. April!

Dabei ist das Jahr als "19JJ" zu interpretieren; 01.01.94 bezeichnet also den 1. Jänner 1994.

Für die Überprüfung ist es wichtig festzustellen, ob das eingelesene Jahr ein Schaltjahr ist. Schaltjahre sind Jahre, die durch 4 teilbar sind; ausgenommen sind Jahreszahlen, die durch 100, aber nicht durch 400 teilbar sind (z.B. 1992 ist ein Schaltjahr, 1900 nicht, 2000 schon).

Eingabedaten:

Lesen Sie einen String ein, der im oben genannten Format eingegeben werden soll.

Ausgabedaten:

Wenn der String im korrekten Format eingegeben wurde, so geben Sie "J" aus, wenn das Datum gültig ist und "N", wenn das Datum nicht gültig ist.

Anschließend geben sie einen Zeilenvorschub aus.

Fehlerbehandlung:

Sind die eingegebenen Daten inhaltlich nicht korrekt oder erfüllen nicht die Bedingungen, so soll Ihr Programm "FALSCHE EINGABE", gefolgt von einem Zeilenvorschub, ausgeben.

Beispiele:

Eingabedaten
12.12.90

12.23.67

1e.02.88

Ausgabedaten
J

N

FALSCHE EINGABE


Testen:

Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei erzeugen:

java Check < Check.i1 > Check.out1

Das erzeugte File Check.out1 können Sie dann mit dem mitgelieferten Outputfile Check.o1 vergleichen.