我目前有玩家 1-4 的分数排序列表,但在将它们与正确的玩家匹配时遇到问题。
以这个方法为例:
public static void exitmethod(int[] scorep1)
{
sort(scorep1);
for (int i = 0; i < 4; i++)
{
System.out.println("Player " + (i+1) + " scored " + scorep1[i] + "");
}
System.exit(0);
}
以这种方式打印得分:Player 1 = 5
、Player 2 = 2
、Player 3 = 2
和 Player 4 = 1
给出的有序输出为
Player 1 scored 1
Player 2 scored 2
Player 3 scored 2
Player 4 scored 5
这显然是不正确的,我不知道如何获得正确的玩家编号及其相应的分数来打印。如果能朝正确的方向插入,我们将不胜感激。
最佳答案
这里有一个使用 TreeMap<> 的选项,因此不需要定义另一个类,只需将每个分数映射到其玩家即可。
int scores[] = {7, 3, 1, 2, 4};
Map<Integer, Integer> map = new TreeMap<>();
for (int i = 0; i < scores.length; i++) {
map.put(scores[i], i);
}
System.out.println("map = " + map);
for (Entry<Integer, Integer> e : map.entrySet()) {
System.out.println("player " + e.getValue() + " scored " + e.getKey());
}
关于java - 将匹配数组发出到已排序的整数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34107174/