Also soll ich dieses Programm erstellen, das ein Array von Personen erstellt, die nach einer Methode in der Klasse Algorithmen sortiert ist. Ich soll die Schnittstelle Sortierbar erstellen, die eine Vergleichsmethode namens compareTo definiert, die zwei Objekte vergleichen soll, um zu sehen, was zuerst kommt. Die Personenklasse repräsentiert eine Person und implementiert Sortable, und die Algorithms-Klasse hat eine Methode namens sort, die ein Array aus sortierbaren Objekten (Personen) übernimmt und diese sortiert. Ich stecke fest, und mein Kursbuch hilft mir hier nicht sehr.Sortierung Array von Personen mit Sortiermethode
public interface Sortable <T> {
int compareTo(T ob);
}
.
public class Algorithms implements Sortable <Person>{
public int compare(Person p1, Person p2){
return p1.lastName().compareTo(p2.lastName());
}
}
.
public class Person implements Sortable<Person>
{
String firstName;
String lastName;
String dob;
public Person (String lastName, String firstName, String dob){
this.lastName=lastName;
this.firstName=firstName;
this.dob=dob;
}
public String lastName(){
return lastName;
}
public String firstName(){
return firstName;
}
public String dob(){
return dob;
}
@Override
public int compareTo(Person o){
Person p = (Person)o;
int last = lastName.compareTo(o.lastName);
return last;
}
public String toString(){
return "Namn "+ lastName +" "+ firstName +" Personnummer: "+dob;
}
}
.
public class Personer {
public static void main(String[]args){
Person p1 = new Person ("Ek","Ida","530525-0055") ;
Person p2 = new Person ("Björk","Sten","650203-0250");
Person p3 = new Person ("Al", "Bengt","881212-4455");
List <Person> list = new ArrayList<>();
list.add (p1);
list.add (p2);
list.add (p3);
Arrays.sort(list, new Algorithms());
System.out.println("lista: "+list);
}
}
Die Frage ist wirklich, was muß ich tun, um diesen Code zu tun, was ich tun will, was am Ende ist out die Namen und dob von einer Reihe von Menschen in alphabetischer Reihenfolge drucken basierend om Nachnamen
haben Sie versucht, zu debuggen? –
Ich denke, Sie sollten "Vergleichbar" implementieren. –