使用java代码设计一个排名系统 能输出排序结果。系统实现团队在参与投票者的次序进行排名,每一位投票者都需要按从高到底的顺序对参与排名的所有团队进行投票
时间: 2024-03-09 18:51:03 浏览: 12
好的,我可以帮你设计一个排名系统,以下是一个简单的Java代码示例:
```java
import java.util.*;
public class RankingSystem {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 输入团队和投票者数量
System.out.print("请输入团队数量:");
int teamNum = sc.nextInt();
System.out.print("请输入投票者数量:");
int voterNum = sc.nextInt();
// 初始化团队和得票数数组
String[] teams = new String[teamNum];
int[] votes = new int[teamNum];
// 输入团队名称
for (int i = 0; i < teamNum; i++) {
System.out.print("请输入第" + (i + 1) + "个团队名称:");
teams[i] = sc.next();
}
// 输入投票结果
for (int i = 0; i < voterNum; i++) {
System.out.println("请投票者" + (i + 1) + "按从高到低的顺序对以下团队进行投票:");
for (int j = 0; j < teamNum; j++) {
System.out.print((j + 1) + "." + teams[j] + " ");
}
System.out.println();
for (int j = 0; j < teamNum; j++) {
System.out.print("第" + (j + 1) + "个投票:");
int vote = sc.nextInt();
votes[vote - 1] += (teamNum - j);
}
}
// 排序并输出结果
Integer[] indices = new Integer[teamNum];
for (int i = 0; i < teamNum; i++) {
indices[i] = i;
}
Arrays.sort(indices, (a, b) -> votes[b] - votes[a]);
System.out.println("排名结果:");
for (int i = 0; i < teamNum; i++) {
System.out.println((i + 1) + "." + teams[indices[i]] + " " + votes[indices[i]] + "票");
}
}
}
```
这个排名系统使用了一个得票数数组来存储每个团队的得票数,然后按照得票数从高到低进行排序,最后输出排名结果。具体实现时,我们先输入团队名称和投票者数量,然后依次输入每个投票者的投票结果,并更新得票数数组。最后,我们使用Java的Arrays.sort()方法对得票数数组进行排序,并输出排名结果。