Guten Tag,
Als erstes wünsche ich euch Frohe Ostern.
Ich habe ein Problem. Ich möchte in der Klasse Student das Interface Comparable implementieren. Dann möchte ich die Geburtsdatum zweier Student vergleichen. Die Geburtsdatum können entweder so 04.03.1989 oder auch so 4.3.1989 angegeben werden. Dann soll gesagt werden zum Beispiel 14.03.1989 ist kleiner als 09.05.1994. Dann gibt es noch eine Testklasse mit dem Namen Aufgabe2
Das Problem bei der Studenten-Klasse ist das ich kein String in compareTo mit den Operator "-" vergleichen kann. Hat jemand eine Idee? Ich wünsche euch noch einen angenehmen Ostermontag .
Student-Klasse:
Aufgabe2-Klasse:
Als erstes wünsche ich euch Frohe Ostern.
Ich habe ein Problem. Ich möchte in der Klasse Student das Interface Comparable implementieren. Dann möchte ich die Geburtsdatum zweier Student vergleichen. Die Geburtsdatum können entweder so 04.03.1989 oder auch so 4.3.1989 angegeben werden. Dann soll gesagt werden zum Beispiel 14.03.1989 ist kleiner als 09.05.1994. Dann gibt es noch eine Testklasse mit dem Namen Aufgabe2
Das Problem bei der Studenten-Klasse ist das ich kein String in compareTo mit den Operator "-" vergleichen kann. Hat jemand eine Idee? Ich wünsche euch noch einen angenehmen Ostermontag .
Student-Klasse:
Java:
public class Student implements Comparable<Student> {
public String name; // Name
public int mat_nr; // Matrikelnummer
public String gebdat; // Geburtsdatum tt.mm.jjjj
public Student(String name, int mat_nr, String gebdat) {
this.name = name;
this.mat_nr = mat_nr;
this.gebdat = gebdat;
}
@Override
public int compareTo(Student x) {
return this.gebdat- x.gebdat;
}
}
Aufgabe2-Klasse:
Java:
public class Aufgabe2 extends Student {
public Aufgabe2(String name, int mat_nr, String gebdat) {
super(name, mat_nr, gebdat);
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s1 = new Student("Willy Wichtig", 123, "01.02.1993");
Student s2 = new Student("Marcel Muster", 456, "2.3.1994");
if (s1.compareTo(s2) == 0) {
System.out.println("0");
}
if (s1.compareTo(s2) < 0) {
System.out.println("<");
}
if (s1.compareTo(s2) > 0) {
System.out.println(">");
}
}
}
Zuletzt bearbeitet: