题解 | #成绩排序#
成绩排序
http://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import java.util.Scanner; import java.util.*;
class Student{ private String name; private Integer score;
public Student(String name,Integer score){
this.name=name;
this.score=score;
}
public Integer getScore(){
return score;
}
public String getName(){
return name;
}
} // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
List<Student> list=new ArrayList<Student>();
int num = in.nextInt();
int sort = in.nextInt();
in.nextLine();
for(int i=0;i<num;i++){
String a=in.nextLine();
String[] s = a.split(" ");
list.add(new Student(s[0],Integer.valueOf(s[1])));
}
if(sort==1){
list.sort(Comparator.comparing(Student::getScore));
}else{
list.sort(Comparator.comparing(Student::getScore).reversed());
}
for(Student item: list){
System.out.println(item.getName()+" "+item.getScore());
}
}
}
}