ich soll eine eigene class Datum erstellen, welche die Felder tag , monat und jahr hat. "Datum" soll allerdings das Datum nicht in diesen einzelnen Feldern entgegen nehmen, sondern es soll einen setter geben, der das Datum als String in der Form tt.mm.jjjj oder jjjj-mm-tt entgegen nimmt und daraus dann die Felder tag, monat und jahr setzt. Dann soll es noch eine print-Methode geben, die das Datum am Bildschirm ausgibt und eine toString Methode die abhängig von einem als Parameter übergebenen Schalter einen String in der Form tt.mm.jjjj oder jjjj-mm-tt zurückliefert.
Ich habe das nun versucht (-> Code) aber habe v.a. Probleme beim:
> tag, monat, jahr aus dem String ziehen und als byte bzw. short zu setzen
> den Setter nur für tt.mm.jjjj oder jjjj-mm-tt zu erlauben.
Für eure Hilfe wäre ich euch sehr dankbar!
Ich habe das nun versucht (-> Code) aber habe v.a. Probleme beim:
> tag, monat, jahr aus dem String ziehen und als byte bzw. short zu setzen
> den Setter nur für tt.mm.jjjj oder jjjj-mm-tt zu erlauben.
Für eure Hilfe wäre ich euch sehr dankbar!
Java:
public static void main(String[] args) {
Datum eins = new Datum (12 , 12 , 2005) ;
Datum zwei = new Datum ("24.12.2011") ;
eins.toString() ;
zwei.printDatum() ;
return ;
}
}
class Datum {
//Felder:
private byte tag ;
private byte monat ;
private short jahr ;
//private String date ;
//Verwaltungsmethoden:
public Datum (String date ) {
this.setDate( date ) ;
}
public Datum (int tag , int monat , int jahr) {
this.setTag ((byte) tag) ;
this.setMonat ((byte) monat) ;
this.setJahr ((short) jahr) ;
}
//Zugriffsmethoden:
public String getDate () {
return this.date ;
}
public void setDate (String date) {
if ( date == "int.int.int") {
String tag = date.substring(0 , 2 ) ;
this.setTag( (byte) tag) ;
String monat = date.substring( 3 , 5 ) ;
this.setMonat( (byte) monat) ;
String jahr = date.substring( 6 , 10) ;
this.setJahr( (short) jahr) ;
}
if else ( date =="int-int-int") {
String jahr= date.substring(0, 4 ) ;
this.setJahr( (short) jahr) ) ;
String monat =date.substring( 5 , 7 ) ;
this.setMonat( (byte) monat) ;
String tag = date.substring( 8 , 10 ) ;
this.setTag( (byte) tag) ;
}
else {
System.out.println( "Datumfehler") ;
}
return ;
}
public byte getTag () {
return this.tag ;
}
public void setTag (byte tag) {
if ( 1 <= tag && 31 >= tag) {
this.tag = tag ;
}
return ;
}
public byte getMonat () {
return this.monat ;
}
public void setMonat (byte monat) {
if (1 <= monat && 12 >= monat)
this.monat = monat ;
return ;
}
public short getJahr () {
return this.jahr ;
}
public void setJahr (short jahr) {
this.jahr = jahr ;
return ;
}
//Implementierungsmethoden
public void printDatum () {
System.out.println( "Datum: " + this.date) ;
return ;
}
public void toString () {
String back ;
back = this.tag + "." + this.monat + "." + this.jahr
return back;
}
}