だから、クラスアルゴリズムのメソッドでソートされた人物の配列を作成するこのプログラムを作成します。 compareToという比較メソッドを定義するSortableインターフェイスを作成します。compareToメソッドは、2つのオブジェクトを比較してどちらが最初に来るのかを調べる必要があります。 Personクラスはpersonを表し、Sortableを実装し、AlgorithmsクラスはSortableオブジェクト(人物)からなる配列を取り、これらをソートするsortというメソッドを持っています。私は立ち往生していて、私の教科書はここで私を助けてくれていません。並べ替えメソッドを持つ人物の並べ替え
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);
}
}
質問本当に私はこのコードを作るために何をすべきかが必要ですさは最後にアルファベット順に人々の数の名前と生年月日out印刷することである、私はそれがやりたいですベースOM姓
を使用し、あなたはデバッグしようとしましたか? –
私はあなたが 'Comparable'を実装するべきだと思います。 –