import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
import wdad.Main.Student;
public class Main {
public static void main(String[] args) {
int n;
ArrayList<Student> list=new ArrayList<Student>();
Scanner scanner=new Scanner(System.in);
while (scanner.hasNextInt()) {
list.clear();
n=scanner.nextInt();
for(int i=0;i<n;i++) {
Student student=new Student();
student.id=scanner.nextInt();
student.grade=scanner.nextInt();
list.add(student);
}
list.sort(new Comparator<Student>() {
@Override
public int compare(Student arg0, Student arg1) {
// TODO Auto-generated method stub
if (arg0.grade>arg1.grade) {
return 1;
}
if (arg0.grade==arg1.grade) {
if (arg0.id>arg1.id) {
return 1;
}
}
return -1;
}
});
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).id+" "+list.get(i).grade);
}
}
}
public static class Student{
int id;
int grade;
}
}
成绩排序
最新推荐文章于 2024-02-20 08:44:13 发布
本文介绍了一个使用Java编写的程序,该程序能够从标准输入读取学生ID和成绩数据,并按成绩降序、相同成绩下ID升序的方式对学生信息进行排序。通过自定义比较器实现了排序逻辑,最终将排序后的学生信息输出到标准输出。
1129

被折叠的 条评论
为什么被折叠?



