运用java,写一个学生学籍管理系统,能够实现添加,删除,查找,修改,统计学生成绩,计算平均成绩,计算合格率的功能,
时间: 2024-06-11 09:07:34 浏览: 124
以下是一个简单的学生学籍管理系统的Java代码实现:
```
import java.util.ArrayList;
import java.util.Scanner;
class Student {
private String name;
private int id;
private int score;
public Student(String name, int id, int score) {
this.name = name;
this.id = id;
this.score = score;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
public class StudentManagementSystem {
private static ArrayList<Student> students = new ArrayList<Student>();
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1.添加学生 2.删除学生 3.查找学生 4.修改学生成绩 5.统计学生成绩 6.计算平均成绩 7.计算合格率 8.退出");
System.out.print("请选择操作:");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent();
break;
case 2:
deleteStudent();
break;
case 3:
findStudent();
break;
case 4:
updateScore();
break;
case 5:
listAllStudents();
break;
case 6:
calculateAverageScore();
break;
case 7:
calculatePassRate();
break;
case 8:
System.out.println("已退出");
System.exit(0);
break;
default:
System.out.println("无效操作");
break;
}
}
}
private static void addStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生姓名:");
String name = scanner.nextLine();
System.out.print("请输入学生学号:");
int id = scanner.nextInt();
System.out.print("请输入学生成绩:");
int score = scanner.nextInt();
Student student = new Student(name, id, score);
students.add(student);
System.out.println("添加成功");
}
private static void deleteStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要删除的学生学号:");
int id = scanner.nextInt();
for (Student student : students) {
if (student.getId() == id) {
students.remove(student);
System.out.println("删除成功");
return;
}
}
System.out.println("未找到该学生");
}
private static void findStudent() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的学生学号:");
int id = scanner.nextInt();
for (Student student : students) {
if (student.getId() == id) {
System.out.println("姓名:" + student.getName() + " 学号:" + student.getId() + " 成绩:" + student.getScore());
return;
}
}
System.out.println("未找到该学生");
}
private static void updateScore() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要修改成绩的学生学号:");
int id = scanner.nextInt();
for (Student student : students) {
if (student.getId() == id) {
System.out.print("请输入新的成绩:");
int score = scanner.nextInt();
student.setScore(score);
System.out.println("修改成功");
return;
}
}
System.out.println("未找到该学生");
}
private static void listAllStudents() {
for (Student student : students) {
System.out.println("姓名:" + student.getName() + " 学号:" + student.getId() + " 成绩:" + student.getScore());
}
}
private static void calculateAverageScore() {
int totalScore = 0;
for (Student student : students) {
totalScore += student.getScore();
}
double averageScore = (double) totalScore / students.size();
System.out.println("平均成绩为:" + averageScore);
}
private static void calculatePassRate() {
int passCount = 0;
for (Student student : students) {
if (student.getScore() >= 60) {
passCount++;
}
}
double passRate = (double) passCount / students.size() * 100;
System.out.println("合格率为:" + passRate + "%");
}
}
```
该程序使用了一个Student类来表示学生对象,包含姓名、学号和成绩三个属性,以及对这三个属性的读写方法。同时,该程序使用了一个ArrayList来存储所有的学生对象。
程序主要分为八个功能模块,分别为添加学生、删除学生、查找学生、修改学生成绩、统计学生成绩、计算平均成绩、计算合格率和退出程序。在用户输入相应操作后,程序会根据不同的选择执行相应的代码。
其中,添加学生、删除学生、查找学生和修改学生成绩等操作都需要用户输入学生的学号,程序会根据学号在ArrayList中查找相应的学生对象进行操作。
统计学生成绩功能会遍历所有的学生对象,计算出所有学生的总成绩,再根据学生人数计算出平均成绩。
计算合格率功能会遍历所有的学生对象,统计出成绩大于等于60分的学生人数,再根据学生人数计算出合格率。
以上就是一个简单的学生学籍管理系统的Java代码实现,该程序可以基本满足学生学籍管理的需求。
阅读全文