0
現在、2つの別々の配列を値で並べ替え、アルファベット順に並べ替えることを試みています。どうやってやるの?2つの別個のJava配列を1つの配列の値で並べ替える
String[] players = new String[5];
int[]goalsByPlayer = new int[5];
players = {a, b, c, d, e};
goalsByPlayer = {3, 0, 0, 0, 0};
1. a 3 goals
2. b 0 goals
3. c 0 goals
4. d 0 goals
5. e 0 goals
私が変更した場合の目標cの量は4に、リストがあることが予想ですが...
1. c 4 goals
2. a 3 goals
3. b 0 goals
4. d 0 goals
5. e 0 goals
提案を送ってください!
編集: これは私が書いたコードです。
for (int w = 0; w < number; w++) {
goalsByPlayer[w] *= -1;
}
Arrays.sort(sort);
for (int w = 0; w < number; w++) {
goalsByPlayer[w] *= -1;
}
for (int p = 0; p < number; p++) {
System.out.println((p + 1) + ". " + players[p] + " " + goalsByPlayer[p] + " goals");
}
文字列を配列内の整数にマッチさせる方法はわかりません。
実際の出力:
1. a 4 goals
2. b 3 goals
3. c 0 goals
4. d 0 goals
5. e 0 goals
これを実行する最良の方法は、両方の値(「プレイヤー」と「ゴール」)をオブジェクト(作成するクラス)に入れてソートすることです。それ以外の場合は、あなたが書いたコードを表示してください。 – markspace
提案 - java.util.Comparatorインタフェースを参照してください。https://docs.oracle.com/javase/7/docs/api/java/util/Comparator.html – EJK