题解 | #成绩排序#
成绩排序
https://www.nowcoder.com/practice/8e400fd9905747e4acc2aeed7240978b
import java.util.Scanner;
import java.util.Arrays;
import java.util.Comparator;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int count = in.nextInt();
int sortType = in.nextInt();
in.nextLine();
StuScore[] param = new StuScore[count];
int index=0;
// 注意 hasNext 和 hasNextLine 的区别
while (index<count) { // 注意 while 处理多个 case
String line = in.nextLine();
String[] pair = line.split(" ");
param[index] = new StuScore(pair[0],Integer.parseInt(pair[1]));
index++;
}
sortStu(param,sortType);
Arrays.stream(param).forEach(i->System.out.println(i.name+" "+i.score ));
}
public static void sortStu(StuScore[] param, int sortType) {
Arrays.sort(param, new Comparator<StuScore>() {
public int compare(StuScore a, StuScore b) {
if (sortType == 1) {
return Integer.compare(a.score, b.score);
} else {
return -Integer.compare(a.score, b.score);
}
}
});
}
public static class StuScore {
private String name;
private int score;
public StuScore(String name,int score){
this.name=name;
this.score = score;
}
}
}
查看9道真题和解析