S
steffen
Gast
hallo zusammen,
ich weiß, es gibt sehr viele themen zur darstellung eines datums, aber leider helfen die mir nicht weiter.
wir haben eben erst mit der objektorientierung angefangen und ich verstehe die aufgabenstellung einfach nicht:
aufgabe: es soll eine klasse datum (ganzzahlige komponenten tag/monat/jahr) geschrieben werden.für die klasse datum sollten "geeignete" konstruktoren geschrieben und es sollte eine methode toString implementiert werden (geerbt aus der klasse object). außerdem war eine objekt-methode zu implementieren, die die differenz der ganzen jahre bei eingabe eines zweiten datums bestimmt und ausgibt. alles was ich unterstrichen habe, verstehe ich nicht. folgende klasse habe ich geschrieben und ausgeführt "funktioniert" sie auch (auch nur mit hilfe), ist aber wohl "falsch" realisiert bezüglich der aufgabenstellung:
Ich würde mich sehr freuen, wenn jemand mir einen vorschlag zur änderung machen könnte
Grüße, S.
ich weiß, es gibt sehr viele themen zur darstellung eines datums, aber leider helfen die mir nicht weiter.
wir haben eben erst mit der objektorientierung angefangen und ich verstehe die aufgabenstellung einfach nicht:
aufgabe: es soll eine klasse datum (ganzzahlige komponenten tag/monat/jahr) geschrieben werden.für die klasse datum sollten "geeignete" konstruktoren geschrieben und es sollte eine methode toString implementiert werden (geerbt aus der klasse object). außerdem war eine objekt-methode zu implementieren, die die differenz der ganzen jahre bei eingabe eines zweiten datums bestimmt und ausgibt. alles was ich unterstrichen habe, verstehe ich nicht. folgende klasse habe ich geschrieben und ausgeführt "funktioniert" sie auch (auch nur mit hilfe), ist aber wohl "falsch" realisiert bezüglich der aufgabenstellung:
Code:
class TestDatum extends Datum {
static public void main(String[] args) {
Datum d= new Datum();
//d.setDatum();
//System.out.println(d.getDatum());
d.datumVergleich();
}
}
class Datum {
int day=0;
int month=0;
int year=0;
String date="";
public void setDatum(){
System.out.println("Bitte Tag eingeben! ");
System.out.println("Bitte eine Zahl zwischen 1 und 31 ein! ");
day = EM02.liesInt();
while(day<1 || day>31){
System.out.println("Bitte Tag eingeben! ");
day = EM02.liesInt();
System.out.println("Fehler bei der Eingabe!");
}
System.out.println("Bitte Monat eingeben! ");
System.out.println("Bitte eine Zahl zwischen 1 und 12 ein! ");
month = EM02.liesInt();
while(month<1 || month>12){
System.out.println("Bitte Monat eingeben! ");
month = EM02.liesInt();
System.out.println("Fehler bei der Eingabe!");
}
System.out.println("Bitte Jahr eingeben! ");
System.out.println("Bitte eine Zahl zwischen 1 und 3000 ein! ");
year = EM02.liesInt();
while(year<1 || year>3000){
System.out.println("Bitte Jahr eingeben! ");
year = EM02.liesInt();
System.out.println("Fehler bei der Eingabe!");
}
date=day+"."+month+"."+year;
} // setDatum()
public String getDatum(){
return date;
} // getDatum()
public void resetDatum(){
day=0;
month=0;
year=0;
date="";
}
public void datumVergleich(){
System.out.println("Jahres Vergleich!");
System.out.println("--------------------------------------------------");
int diffJahr=0;
System.out.println("Bitte erstmal das erste Datum eingeben");
setDatum();
int jahr1=year;
resetDatum();
System.out.println("Bitte tragen sie noch ein Datum zum Vergleich ein");
setDatum();
int jahr2=year;
if(jahr1 >jahr2)
diffJahr=jahr1-jahr2;
else
diffJahr=jahr2-jahr1;
System.out.println("Der Abstand zwischen den Jahren betraegt: "+ diffJahr);
}// datumVergleich()
}
Ich würde mich sehr freuen, wenn jemand mir einen vorschlag zur änderung machen könnte
Grüße, S.