你用java写个学生成绩管理系统我看看
时间: 2023-09-21 16:05:51 浏览: 109
### 回答1:
好的,以下是一个简单的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方法中,我们创建了一个学生成绩管理系统对象,并添加了一些学生信息。然后我们调用了按姓名排序和按成绩排序的方法来显示学生信息。
### 回答2:
学生成绩管理系统是一个用来录入、查询和分析学生成绩的应用程序。以下是我用Java编写的基本学生成绩管理系统示例:
```java
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class StudentGradeManagementSystem {
private Map<String, Integer> studentGrades;
public StudentGradeManagementSystem() {
studentGrades = new HashMap<>();
}
public void addStudentGrade(String studentName, int grade) {
studentGrades.put(studentName, grade);
}
public int getStudentGrade(String studentName) {
return studentGrades.getOrDefault(studentName, -1);
}
public void displayAllGrades() {
for (Map.Entry<String, Integer> entry : studentGrades.entrySet()) {
System.out.println("学生姓名:" + entry.getKey() + ", 成绩:" + entry.getValue());
}
}
public static void main(String[] args) {
StudentGradeManagementSystem system = new StudentGradeManagementSystem();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. 添加学生成绩");
System.out.println("2. 查询学生成绩");
System.out.println("3. 显示所有学生成绩");
System.out.println("4. 退出");
System.out.println("请输入选项:");
int option = scanner.nextInt();
switch (option) {
case 1:
System.out.println("请输入学生姓名:");
String name = scanner.next();
System.out.println("请输入学生成绩:");
int grade = scanner.nextInt();
system.addStudentGrade(name, grade);
break;
case 2:
System.out.println("请输入学生姓名:");
String studentName = scanner.next();
int studentGrade = system.getStudentGrade(studentName);
if (studentGrade == -1) {
System.out.println("找不到该学生的成绩");
} else {
System.out.println("学生姓名:" + studentName + ", 成绩:" + studentGrade);
}
break;
case 3:
system.displayAllGrades();
break;
case 4:
scanner.close();
return;
default:
System.out.println("无效的选项");
}
}
}
}
```
这个学生成绩管理系统允许用户选择添加学生的姓名和成绩,可以通过学生姓名查询对应的成绩,并显示所有学生的成绩。程序会循环显示菜单,直到用户选择退出。
### 回答3:
我很乐意为您展示一个用Java编写的学生成绩管理系统。
学生成绩管理系统是一个用于记录、管理和统计学生的各项成绩信息的软件。系统主要包括学生信息录入、成绩录入、成绩查询、成绩统计等功能。
首先,我们需要定义一个学生类,其中包括学生的基本信息,如学号、姓名、性别、年龄等。然后,我们可以编写一个方法来实现学生信息的录入功能,通过用户输入学生信息来创建学生对象,并将其保存在内存中。
接下来,我们可以编写成绩录入的功能,用户可以输入学生的学号和对应的各个科目的成绩,将成绩保存在学生对象中。通过遍历学生列表,我们可以实现对多个学生的成绩录入。
为了方便用户查询成绩,我们可以实现成绩查询功能。用户可以输入学号,系统会在学生列表中查找相应学生并返回其成绩信息。此外,我们还可以实现成绩统计功能,计算某个科目的平均分、最高分、最低分等。
在编写学生成绩管理系统时,我们可以采用面向对象的思想,使用类、对象、方法等概念来组织代码。通过合理的设计和封装,可以使系统结构清晰,易于扩展和维护。
以上是一个简单的学生成绩管理系统的设计思路,实际实现还需要考虑更多细节。如果您对此感兴趣,我可以为您提供更详细的代码示例。希望这个回答对您有帮助!
阅读全文