使用异常知识,来写一段Java代码来实现学生信息管理系统
时间: 2024-04-13 17:31:21 浏览: 22
当实现学生信息管理系统时,可以利用异常处理来处理可能发生的错误和异常情况。以下是一个简单的Java代码示例,演示如何利用异常处理来实现学生信息管理系统:
```java
import java.io.*;
import java.util.*;
class Student {
private String name;
private int age;
private String gender;
private String studentId;
// 构造函数
public Student(String name, int age, String gender, String studentId) {
this.name = name;
this.age = age;
this.gender = gender;
this.studentId = studentId;
}
// Getter 和 Setter 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
}
class StudentManagementSystem {
private List<Student> students;
// 构造函数
public StudentManagementSystem() {
students = new ArrayList<>();
}
// 添加学生信息
public void addStudent(Student student) throws Exception {
// 检查学号是否重复
for (Student s : students) {
if (s.getStudentId().equals(student.getStudentId())) {
throw new Exception("学号重复");
}
}
students.add(student);
}
// 删除学生信息
public void deleteStudent(String studentId) throws Exception {
boolean found = false;
for (Student student : students) {
if (student.getStudentId().equals(studentId)) {
students.remove(student);
found = true;
break;
}
}
if (!found) {
throw new Exception("学生信息不存在");
}
}
// 修改学生信息
public void updateStudent(String studentId, Student newStudent) throws Exception {
boolean found = false;
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getStudentId().equals(studentId)) {
students.set(i, newStudent);
found = true;
break;
}
}
if (!found) {
throw new Exception("学生信息不存在");
}
}
// 查询学生信息
public Student findStudent(String studentId) throws Exception {
for (Student student : students) {
if (student.getStudentId().equals(studentId)) {
return student;
}
}
throw new Exception("学生信息不存在");
}
// 保存学生信息到文件
public void saveToFile(String filename) throws IOException {
try (PrintWriter writer = new PrintWriter(new FileWriter(filename))) {
for (Student student : students) {
writer.println(student.getName() + "," + student.getAge() + "," + student.getGender() + "," + student.getStudentId());
}
}
}
// 从文件加载学生信息
public void loadFromFile(String filename) throws IOException {
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 4) {
String name = parts[0];
int age = Integer.parseInt(parts[1]);
String gender = parts[2];
String studentId = parts[3];
students.add(new Student(name, age, gender, studentId));
}
}
}
}
}
public class Main {
public static void main(String[] args) {
StudentManagementSystem system = new StudentManagementSystem();
try {
// 添加学生
system.addStudent(new Student("张三", 18, "男", "10001"));
system.addStudent(new Student("李四", 19, "女", "10002"));
system.addStudent(new Student("王五", 20, "男", "10003"));
// 保存学生信息到文件
system.saveToFile("students.txt");
// 从文件加载学生信息
system.loadFromFile("students.txt");
// 查询学生信息
Student student = system.findStudent("10002");
System.out.println("学生信息:" + student.getName() + " " + student.getAge() + " " + student.getGender());
// 修改学生信息
system.updateStudent("10002", new Student("李四", 20, "女", "10002"));
// 删除学生信息
system.deleteStudent("10003");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上示例代码实现了一个简单的学生信息管理系统,包括添加、删除、修改和查询学生信息的功能,并将学生信息保存在txt文件中。同时,使用了异常处理来处理可能发生的错误和异常情况,提高程序的稳定性和健壮性。