Hi, brauche eure Hilfe mit der Aufgabe, hatte schon mal versucht geht aber net, wäre sehr dankbar für eure Hilfe!!!!
Aufgabe:
Entwickeln Sie eine Java- Klasse "Datumspruefer", die Methoden zur Überprüfung der Korrektheit eines eingegebenen Datums enthält. Das Datum wird in dem Format
TT. MM. JJJJ
eingegeben. Beachten Sie die Regeln aus der Übung Struktogramm : Datumsüberprüfung und halten Sie sich beim Algorithmus an Ihr Struktogramm.
Entwickeln Sie eine Klasse "Start" mit der main-Funktion, die einen Testrahmen enthält, so dass das Programm die Korrektheit des Datums überprüft und anschließend die Meldung “Datum korrekt” bzw. “Datum ungültig” ausgibt. Anschließend wird der Benutzer aufgefordert erneut ein Datum einzugeben.
Hinweise:
Das Datum wird als String in dem angegebenen Format eingelesen. Der Datumsstring wird zerlegt in seine Bestandteile Tag, Monat, Jahr und jeder Bestandteil wird in ein Integer konvertiert. Anschließend wird das Datum von den Prüfmethoden überprüft. Wenn es korrekt ist, kommt die Meldung "Datum korrekt", wenn es nicht korrekt ist, kommt die Meldung "Datum ungültig". Dann darf der Benutzer erneut ein Datum zur Überprüfung eingeben.
und das hatte ich ausprobiert:
package meinPaket;
import java.util.Scanner;
public class Datumspruefer {
public void pruefe(){
//String datum = "01.12.2010";
int tag;
int monat;
int jahr;
boolean schaltjahr;
boolean pruefeTag;
boolean pruefeMonat;
boolean pruefeJahr;
int letzterTagMonat;
Scanner scan = new Scanner( System.in );
System.out.println("Eingabe: ");
schaltjahr = scan.hasNext();
tag = scan.nextInt();
monat = scan.nextInt();
jahr = scan.nextInt();
letzterTagMonat = scan.nextInt();
pruefeTag = scan.hasNext();
pruefeMonat = scan.hasNext();
pruefeJahr = scan.hasNext();
if (jahr%4==0&&!(jahr%100==0)||(jahr%400==0)) {
schaltjahr = true;
System.out.println("Datum ist korrekt");
}
else {
schaltjahr = false;
System.out.println("Datum ist nicht korrekt");
}
System.out.println(schaltjahr);
if (monat==1||monat==3||monat==5||monat==7||monat==8||monat==9||monat==11){
letzterTagMonat=31;
}
if (monat==4||monat==6||monat==10||monat==12){
letzterTagMonat=30;
}
if (monat==2&&(schaltjahr=true)){
letzterTagMonat=28;
System.out.println("Datum ist korrekt");
}
else if (monat==2&&(schaltjahr=false)){
letzterTagMonat=29;
System.out.println("Datum ist nicht korrekt");
}
if (tag>=1&&(tag<=letzterTagMonat)){
pruefeTag=true;
System.out.println("Datum ist korrekt");
}
else {
pruefeTag=false;
System.out.println("Datum ist nicht korrekt");
}
if (pruefeJahr==true&&(pruefeTag==true)&&(pruefeMonat==true)){
System.out.println("korrekt.");
}
else if (pruefeJahr=false||(pruefeTag=false)||(pruefeMonat=false)){
System.out.println("nicht korrekt.");
}
}
}
komme echt net weiter :upps:rolleyes: