教师任课管理系统 Java

简介

教师任课管理系统是一个用于管理教师课程安排和学生选课情况的系统。它可以帮助学校或培训机构轻松地安排教师的课程,并跟踪学生的选择情况。本文将使用 Java 编程语言来实现一个简单的教师任课管理系统。

系统功能

教师任课管理系统主要有以下功能:

  1. 添加教师信息:包括姓名、性别、年龄等基本信息。
  2. 添加课程信息:包括课程名称、授课教师、上课时间等信息。
  3. 学生选课:学生可以从已有的课程列表中选择感兴趣的课程。
  4. 查看选课情况:教师和管理员可以查看学生的选课情况。

数据模型

首先,我们需要定义教师和课程的数据模型。教师和课程都有一些共同的属性,如姓名和编号,因此可以使用一个基类 Person 来表示。教师和课程分别继承这个基类,并添加一些特定的属性。

// Person.java
public class Person {
    private String name;
    private int id;

    // Constructor
    public Person(String name, int id) {
        this.name = name;
        this.id = id;
    }

    // Getters and setters
    // ...
}

// Teacher.java
public class Teacher extends Person {
    private String gender;
    private int age;

    // Constructor
    public Teacher(String name, int id, String gender, int age) {
        super(name, id);
        this.gender = gender;
        this.age = age;
    }

    // Getters and setters
    // ...
}

// Course.java
public class Course {
    private String name;
    private Teacher teacher;
    private String time;

    // Constructor
    public Course(String name, Teacher teacher, String time) {
        this.name = name;
        this.teacher = teacher;
        this.time = time;
    }

    // Getters and setters
    // ...
}

系统实现

下面是一个简单的教师任课管理系统的实现示例。

import java.util.ArrayList;
import java.util.List;

public class TeacherCourseManagementSystem {
    private List<Teacher> teachers;
    private List<Course> courses;

    public TeacherCourseManagementSystem() {
        teachers = new ArrayList<>();
        courses = new ArrayList<>();
    }

    public void addTeacher(Teacher teacher) {
        teachers.add(teacher);
    }

    public void addCourse(Course course) {
        courses.add(course);
    }

    public void displayCourses() {
        for (Course course : courses) {
            System.out.println("课程名称:" + course.getName());
            System.out.println("授课教师:" + course.getTeacher().getName());
            System.out.println("上课时间:" + course.getTime());
            System.out.println();
        }
    }

    public static void main(String[] args) {
        // 创建系统实例
        TeacherCourseManagementSystem system = new TeacherCourseManagementSystem();

        // 创建教师对象
        Teacher teacher1 = new Teacher("张三", 1, "男", 30);
        Teacher teacher2 = new Teacher("李四", 2, "女", 35);

        // 添加教师信息
        system.addTeacher(teacher1);
        system.addTeacher(teacher2);

        // 创建课程对象
        Course course1 = new Course("Java 编程", teacher1, "周一 9:00-11:00");
        Course course2 = new Course("Python 编程", teacher2, "周三 13:00-15:00");

        // 添加课程信息
        system.addCourse(course1);
        system.addCourse(course2);

        // 显示课程信息
        system.displayCourses();
    }
}

上述代码中,我们首先创建了一个 TeacherCourseManagementSystem 类,它包含了教师和课程的列表。然后,我们创建了两个教师对象和两个课程对象,并将它们添加到相应的列表中。最后,我们调用 displayCourses 方法来显示所有的课程信息。

系统演示

接下来,我们使用饼状图来展示学生的选课情况。假设我们有三门课程,学生分别选择了