私はスクラブルアプリを作っていますが、プレイヤーが名前と一緒にスコアを表示できるシステムを作りたいと思っています。スコアは最高から最低の順に並べる必要があります。出力は次のようになります。 名前 スコア
Kathy 150
Charm 140
Albert 130
Arvin 120
Angelo 110
私は配列を使用してこれを実行しようとしていますが、これを機能させるのに苦労しています。
int score[]= new int[4];
score[0]= 120;
score[1]= 130;
score[2]= 140;
score[3]= 150;
String names[] = new String[4];
names[0]= "albert";
names[1]= "arvin";
names[2]= "charm";
names[3]= "kathy";
Player[] players = new Player[names.length];
for(int i = 0; i < names.length; i++) {
players[i] = new Player(names[i], score[i]);
show.setText((CharSequence) players[i]);
}
Arrays.sort(players, new PlayerComparator());
class PlayerComparator implements Comparator<Player> {
public int compare(Player p1, Player p2) {
return p1.getScore() < p2.getScore() ? -1
: p1.getScore() > p2.getScore() ? 1 : 0;
}
}
public class Player {
private String name;
private int score;
public Player(String name, int score) {
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public int getScore() {
return score;
}
public String toString() {
return "name=" + name + "; score=" + score;
}
}
誰かが私に何を使うべきかについて助けてくれて、この目標を達成するために私を導いてくれますか?事前にどうもありがとうございました。