使用java io写一个学生管理系统 有增加,删除,修改,查询功能
时间: 2023-05-20 21:02:32 浏览: 96
好的,以下是一个简单的学生管理系统的 Java 代码示例,其中包括增加、删除、修改和查询功能:
import java.io.*;
import java.util.*;
public class StudentManagementSystem {
private static final String FILENAME = "students.txt";
private static List<Student> students = new ArrayList<>();
public static void main(String[] args) {
loadStudentsFromFile();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 增加学生");
System.out.println("2. 删除学生");
System.out.println("3. 修改学生");
System.out.println("4. 查询学生");
System.out.println("5. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudent(scanner);
break;
case 2:
deleteStudent(scanner);
break;
case 3:
modifyStudent(scanner);
break;
case 4:
queryStudent(scanner);
break;
case 5:
saveStudentsToFile();
System.exit(0);
default:
System.out.println("无效的选择,请重新输入!");
}
}
}
private static void loadStudentsFromFile() {
try (BufferedReader reader = new BufferedReader(new FileReader(FILENAME))) {
String line;
while ((line = reader.readLine()) != null) {
String[] parts = line.split(",");
if (parts.length == 3) {
students.add(new Student(parts[0], parts[1], Integer.parseInt(parts[2])));
}
}
} catch (IOException e) {
System.err.println("读取文件出错:" + e.getMessage());
}
}
private static void saveStudentsToFile() {
try (PrintWriter writer = new PrintWriter(new FileWriter(FILENAME))) {
for (Student student : students) {
writer.println(student.getName() + "," + student.getId() + "," + student.getAge());
}
} catch (IOException e) {
System.err.println("写入文件出错:" + e.getMessage());
}
}
private static void addStudent(Scanner scanner) {
System.out.println("请输入学生姓名:");
String name = scanner.next();
System.out.println("请输入学生学号:");
String id = scanner.next();
System.out.println("请输入学生年龄:");
int age = scanner.nextInt();
students.add(new Student(name, id, age));
System.out.println("学生添加成功!");
}
private static void deleteStudent(Scanner scanner) {
System.out.println("请输入要删除的学生学号:");
String id = scanner.next();
Iterator<Student> iterator = students.iterator();
while (iterator.hasNext()) {
Student student = iterator.next();
if (student.getId().equals(id)) {
iterator.remove();
System.out.println("学生删除成功!");
return;
}
}
System.out.println("未找到该学生!");
}
private static void modifyStudent(Scanner scanner) {
System.out.println("请输入要修改的学生学号:");
String id = scanner.next();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("请输入学生姓名(留空表示不修改):");
String name = scanner.next();
if (!name.isEmpty()) {
student.setName(name);
}
System.out.println("请输入学生年龄(留空表示不修改):");
String ageStr = scanner.next();
if (!ageStr.isEmpty()) {
student.setAge(Integer.parseInt(ageStr));
}
System.out.println("学生修改成功!");
return;
}
}
System.out.println("未找到该学生!");
}
private static void queryStudent(Scanner scanner) {
System.out.println("请输入要查询的学生学号:");
String id = scanner.next();
for (Student student : students) {
if (student.getId().equals(id)) {
System.out.println("学生信息如下:");
System.out.println("姓名:" + student.getName());
System.out.println("学号:" + student.getId());
System.out.println("年龄:" + student.getAge());
return;
}
}
System.out.println("未找到该学生!");
}
private static class Student {
private String name;
private String id;
private int age;
public Student(String name, String id, int age) {
this.name = name;
this.id = id;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
}