题解 | #成绩排序#
成绩排序
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; } } }