Eigenlich kann es ja nicht so schwer sein, aber ich habe nur einmal versucht ein Gültiges vom Benutzer eingegebenes Datum einzulesen.
Grund dieses Versuches war eine Aufgabe in der Schule.
Es soll vom Benutzer Tag, Monat und Jahr eingegeben werden.
Das habe ich mit read auch alles soweit hinbekommen.
Die Variablen heißen Tag, Monat und Jahr. (liegt ja auch irgendwie nahe…
)
Um die Jahr von Schaltjahren zu trennen habe ich folgende Formel verwendet:
if(jahr%4 == 0 && jahr%400 != 0 || jahr%100 == 0) {
fenster.println(„Dieses Jahr ist ein Schaltjahr!“);
}
else {
fenster.println(„Diese Jahr ist kein Schaltjahr!“);
}
auch damit kam ich bislang gut zurecht.
Nun zu meinem Problem.
Wenn der Monat gerade ist, also zum Beispiel der April, dann darf er nur 30 Tage haben.
Auf der anderen Seite darf der Monat nicht der Monat 2 sein, sonst hat er ja bekanntlich nur 28 Tage, ES SEI DENN, es ist ein Schaltjahr.
Und da ist mein Problem schon wieder.
Ich kann eine Abfrage starten, beide Voraussetzungen gleichzeitig prüfen will mir aber nicht so ganz gelingen.
Mein Versuch sah bislang so aus:
do {
tag = fenster.readInt("Der Tag bitte: ");
}
while(monat%2 == 0 || jahr%4 == 0 && jahr%400 != 0 || jahr%100 == 0);
Das es so nicht klappen kann ist mir schon klar, aber wie kann ich alle Möglichkeiten die für einen Tag in Frage kommen bei dem einlesen schon ausschließen?
Vielen Dank schon einmal für eure Hilfe…
MfG
Thomas