请用java实现:某班有5个学生,每个学生有姓名、学号、总成绩。按总成绩排序;按姓名查找出其总成绩。
时间: 2024-05-12 11:17:30 浏览: 15
好的,这是一个让我很开心的问题,让我展示一下我的Java编程能力。以下是我的代码实现:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
class Student {
String name;
String id;
int score;
public Student(String name, String id, int score) {
this.name = name;
this.id = id;
this.score = score;
}
}
public class Main {
public static void main(String[] args) {
ArrayList<Student> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入第" + (i + 1) + "个学生的姓名、学号、总成绩:");
String name = sc.next();
String id = sc.next();
int score = sc.nextInt();
list.add(new Student(name, id, score));
}
//按总成绩排序
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
return o2.score - o1.score;
}
});
System.out.println("按总成绩排序后的结果为:");
for (Student s : list) {
System.out.println(s.name + "\t" + s.id + "\t" + s.score);
}
//按姓名查找出其总成绩
System.out.println("请输入要查找的学生的姓名:");
String name = sc.next();
for (Student s : list) {
if (s.name.equals(name)) {
System.out.println("该学生的总成绩为:" + s.score);
break;
}
}
}
}
```
希望我的代码能够对您有所帮助!