你用java写个学生成绩管理系统我看看
时间: 2023-05-16 19:05:04 浏览: 95
用java写的一个简单的学生成绩管理系统(含代码)_1638398573.doc
好的,以下是一个简单的Java学生成绩管理系统,它可以记录学生的姓名和成绩,并根据不同的条件进行排序和显示:
```
import java.util.*;
public class StudentManagementSystem {
// 定义一个HashMap用于存储学生信息
private Map<String, Double> students = new HashMap<>();
// 添加学生信息
public void addStudent(String name, double score) {
students.put(name, score);
}
// 删除学生信息
public void removeStudent(String name) {
students.remove(name);
}
// 按姓名排序并显示学生信息
public void displayStudentsByName() {
List<String> sortedNames = new ArrayList<>(students.keySet());
Collections.sort(sortedNames);
for (String name : sortedNames) {
System.out.println(name + " : " + students.get(name));
}
}
// 按成绩排序并显示学生信息
public void displayStudentsByScore() {
List<Map.Entry<String, Double>> sortedEntries = new ArrayList<>(students.entrySet());
Collections.sort(sortedEntries, new Comparator<Map.Entry<String, Double>>() {
public int compare(Map.Entry<String, Double> e1, Map.Entry<String, Double> e2) {
return e2.getValue().compareTo(e1.getValue());
}
});
for (Map.Entry<String, Double> entry : sortedEntries) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
public static void main(String[] args) {
// 创建一个学生成绩管理系统对象
StudentManagementSystem sms = new StudentManagementSystem();
// 添加一些学生信息
sms.addStudent("Alice", 85.5);
sms.addStudent("Bob", 92.0);
sms.addStudent("Charlie", 79.3);
sms.addStudent("David", 88.6);
sms.addStudent("Eve", 94.2);
// 按姓名排序并显示学生信息
System.out.println("按姓名排序:");
sms.displayStudentsByName();
System.out.println();
// 按成绩排序并显示学生信息
System.out.println("按成绩排序:");
sms.displayStudentsByScore();
}
}
```
在这个学生成绩管理系统中,我们使用了一个HashMap来存储学生信息,其中学生的姓名作为键,成绩作为值。我们定义了三个方法来添加、删除和显示学生信息,其中按姓名排序的方法使用了一个ArrayList来存储学生姓名,并使用Collections.sort方法来排序;按成绩排序的方法则使用了一个ArrayList来存储Map.Entry对象,并使用Collections.sort方法和一个比较器来排序。
在main方法中,我们创建了一个学生成绩管理系统对象,并添加了一些学生信息。然后我们调用了按姓名排序和按成绩排序的方法来显示学生信息。
阅读全文