```package Singgame;
import java.util.*;
public class Member implements Comparator{
public int compare(Object obj1,Object obj2) {//定义比较器 书上这么写的
String key1 = (String) obj1;
String key2 = (String) obj2;
return key2.compareTo(key1);
}
}
//单一的成绩可以,但评委一多排序就乱了,求原因
//
//解决评委人数变量,然后设为全局变量
//如何变化地用集合储存,将数组转为集合
//2个想法如何调出来排序 设置算法找到list成绩中对应的姓名 或 collections.sort 舍去
//排好序如何找到成绩对应的那个人 将sum单独作为一个集合
//从2个Arraylist到 Trremap 比较器排序 觉得总成绩与姓名一一对应好查找
//书上的比较器是String 我的key是int 转化
//intToString(sum)方法是指返回的是String 而不是将int变为String 错误找了15分钟
import java.util.*;
public class Execute{
static int x;
public static void main(String[] args) {
ArrayList list = new ArrayList();
TreeMap map = new TreeMap(new Member());
Scanner sc = new Scanner(System.in);
System.out.println("请输入评委的人数:");
x = sc.nextInt();
while(true) {
System.out.println("欢迎来到歌咏比赛成绩管理系统");
System.out.println("1 请输入选手姓名和成绩");
System.out.println("2 计算排名");
System.out.println("3 退出系统");
System.out.println(" 请输入你的选择:");
int choose = sc.nextInt();
switch(choose){
case 1:
System.out.println(" 请输入选手姓名和成绩");
addGrade(list,map);
break;
case 2:
System.out.println(" 计算排名");
Rank(map);
break;
case 3:
System.out.println("谢谢使用");
System.exit(0);
default:System.out.println("请输入正确的选择:");
}
}
}
public static String intToString(int value) {//int与String转化
Integer integer = new Integer(value);
return integer.toString();
}
public static void addGrade(ArrayList list,TreeMap map) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入选手姓名:");
String str = sc.next();
list.add(str);
int []ids=new int[x];
System.out.println("输入成绩");
for(int i=0;i<ids.length;i++) {
ids[i]=sc.nextInt();
}
int sum=0;//求和
for(int i=0;i<ids.length;i++) {
sum+=ids[i];
}
list.add(sum);
for(int in: ids) {
list.add(in);
}
map.put(intToString(sum),str);
System.out.println(list);//后面删掉
}
public static void Rank(TreeMap map) {
System.out.println(map);
/*Set keySet = map.keySet();
Iterator it = keySet.iterator();
while(it.hasNext()) {
Object key = it.next();
Object value = map.get(key);
System.out.println(key+":"+value);
}*/
}
}
不知道你这个问题是否已经解决, 如果还没有解决的话:
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^