Hallo,
Vielleicht könnt ihr mir ja auf die Sprünge helfen
Aufgabe:
Realisieren Sie die Klasse Datum. Dabei soll der Klasse das Datum sowohl im Format DD.MM.JJJJJ als auch im Format MM/DD/JJJJ als String übergeben werden können. Das Datum 01.11.1987 und das Datum 11/01/1987 repräsentieren beide den 01. November 1987. Achten Sie bei der Implementierung darauf, dass – wenn Objekte dieser Klasse in einem HashSet verwendet werden – keine doppelten Objekte in dem HashSet orkommen.
public class Datum {
Platz für die eigene Implementierung
}
Hier ist meine Lösung dazu, aber bin mir nicht 100% sicher
Vielleicht könnt ihr mir ja auf die Sprünge helfen
Aufgabe:
Realisieren Sie die Klasse Datum. Dabei soll der Klasse das Datum sowohl im Format DD.MM.JJJJJ als auch im Format MM/DD/JJJJ als String übergeben werden können. Das Datum 01.11.1987 und das Datum 11/01/1987 repräsentieren beide den 01. November 1987. Achten Sie bei der Implementierung darauf, dass – wenn Objekte dieser Klasse in einem HashSet verwendet werden – keine doppelten Objekte in dem HashSet orkommen.
public class Datum {
Platz für die eigene Implementierung
}
Hier ist meine Lösung dazu, aber bin mir nicht 100% sicher

Code:
import java.lang.Integer.*;
import java.util.StringTokenizer;
/**
*
* @author
*/
public class Datum {
int tag;
int monat;
int jahr;
private String date;
Datum (int tag,int monat,int jahr)
{
this.tag=tag;
this.monat=monat;
this.jahr=jahr;
}
public Datum (String date)
{
this.date = date;
}
public void setDatum()
{
String trenzeichen= this.date.substring(2,3);
if (trenzeichen.equals("."))
{
StringTokenizer dt = new StringTokenizer(date,".");
tag = Integer.parseInt(dt.nextToken());
monat = Integer.parseInt (dt.nextToken());
jahr= Integer.parseInt(dt.nextToken()); }
else if (trenzeichen.equals("/"))
{
StringTokenizer st = new StringTokenizer(date,"/");
monat = Integer.parseInt(st.nextToken());
tag = Integer.parseInt (st.nextToken());
jahr=Integer.parseInt(st.nextToken());
}
}
@Override
public boolean equals (Object obj)
{
boolean istGleich=false;
if (obj instanceof Datum) {
Datum d =(Datum)obj;
if (this.hashCode()==d.hashCode())
{
istGleich = tag==d.tag&&
monat==d.monat&&
jahr==d.jahr;
}
}
return istGleich;
}
@Override
public int hashCode() {
return this.tag+this.monat+this.jahr;
}
public static void main(String[] args)
{
Datum dt = new Datum("02.05.2008");
dt.setDatum();
Datum st = new Datum ("05/02/2008");
st.setDatum();
boolean temp = dt.equals(st);
System.out.println(temp);
}
}