读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
输入格式:每个测试输入包含1个测试用例,格式为
第1行:正整数n
第2行:第1个学生的姓名 学号 成绩
第3行:第2个学生的姓名 学号 成绩
... ... ...
第n+1行:第n个学生的姓名 学号 成绩
其中姓名和学号均为不超过10个字符的字符串,成绩为0到100之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:对每个测试用例输出2行,第1行是成绩最高学生的姓名和学号,第2行是成绩最低学生的姓名和学号,字符串间有1空格。
输入样例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
输出样例:
Mike CS991301
Joe Math990112
package review_Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class P_1004 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine());
List <Student>list = new ArrayList<Student>();
for(int i = 0;i<n;i++){
String s = in.nextLine();
String[] arr = s.split(" ");
Student stu = new Student();
stu.name = arr[0];
stu.id = arr[1];
stu.score = Integer.parseInt(arr[2]);
list.add(stu);
}
in.close();
Collections.sort(list);
System.out.println(list.get(0).getName()+" "+list.get(0).getId());
System.out.println(list.get(list.size()-1).getName()+" "+list.get(list.size()-1).getId());
}
}
// 学生类实现CompareTo接口
class Student implements Comparable<Student> {
String name;
String id;
int score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
// 用分数比较排序,降序
public int compareTo(Student o) {
return -(this.score - o.score);
}
}```