21xrx.com
2025-03-21 16:16:51 Friday
文章检索 我的文章 写文章
用Java编写学生管理系统
2023-06-18 10:41:59 深夜i     --     --
Java 学生管理系统 GUI

我喜欢使用Java编写应用程序,今天我想和大家分享我的Java学生管理系统。在这个系统中,我使用了Java的基础知识,包括类、方法和对象等等。同时,我还使用了Java的图形用户界面(GUI)工具包Swing来设计程序的界面。

接下来,我将向大家展示几个关键功能:

1. 学生信息管理

在程序中,我创建了一个Student类,其中包括学生的姓名、年龄、性别和成绩等信息。我使用ArrayList来管理所有的学生信息,可以新增、修改、删除和搜索学生的信息。

public class Student
  private String name;
  private int age;
  private String gender;
  private int score;
  // constructor
public class StudentManager {
  private ArrayList
  students;
 
  public StudentManager() {
    students = new ArrayList
  ();
 
  }
  public void addStudent(Student student) {
    students.add(student);
  }
  public void removeStudent(Student student) {
    students.remove(student);
  }
  public void updateStudent(Student student) {
    int index = students.indexOf(student);
    if (index != -1) {
      students.set(index, student);
    }
  }
  public Student findStudent(String name) {
    for (Student student : students) {
      if (student.getName().equals(name))
        return student;
      
    }
    return null;
  }
}

2. 成绩统计

在程序中,我使用了Java的集合框架来实现成绩的统计和排序等功能。我将所有学生的成绩存储在一个数组中,然后使用Arrays工具类来排序和计算平均分等数据。

int[] scores = 80;
// sort the scores
Arrays.sort(scores);
// calculate the average score
double average = Arrays.stream(scores).average().getAsDouble();

3. 数据存储

为了保存所有学生的信息,我使用了Java的文件读写功能。我将学生信息保存在一个文本文件中,每个学生信息占用一行。程序启动时,会读取文件中的信息,并将其加载到程序中。

public class FileManager {
  private static final String FILE_NAME = "students.txt";
  public static void write(List
  data) {
 
    try {
      BufferedWriter writer = new BufferedWriter(new FileWriter(FILE_NAME));
      for (String line : data) {
        writer.write(line);
        writer.newLine();
      }
      writer.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  public static List
  read() {
 
    List
  data = new ArrayList<>();
 
    try {
      BufferedReader reader = new BufferedReader(new FileReader(FILE_NAME));
      String line;
      while ((line = reader.readLine()) != null) {
        data.add(line);
      }
      reader.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return data;
  }
}

以上是我实现Java学生管理系统的一些关键功能,它们都是基于Java的基础知识和工具来实现的。通过这个项目,我加深了对Java编程的理解和实践能力,并且提高了我的学习和解决问题的能力。

  
  

评论区