# 实验二学生选课模拟系统 **Repository Path**: haosiyu2004/experiment-2-student-Course-selection ## Basic Information - **Project Name**: 实验二学生选课模拟系统 - **Description**: 学生选课模拟系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-10-06 - **Last Updated**: 2023-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 实验二学生选课模拟系统 实验目的 本实验的目的是设计和实现一个简单的学生选课系统,包括学生、教师和课程的实体类,以及模拟学生选课、教师开设课程和打印学生课表信息的功能。 实验要求 编写学生(Student)、教师(Teacher)和课程(Course)的实体类。 在测试主类(Main)中,实例化多个类实体,模拟教师开设课程、学生选课、退课以及打印学生课表信息。 创建流程图来说明程序的工作流程。 提供核心代码,并展示系统运行结果。 总结并提供感想。 过程 1.设计实体类 首先,我们设计了学生、教师和课程的实体类,每个类都有一些基本的属性和方法来表示其特征和行为。 2.编写测试主类 接下来,我们创建了测试主类,实例化了教师、学生和课程对象,并模拟了选课、开设课程和打印学生课表信息的操作。 3.创建流程图 下面是系统的工作流程图,以说明各个步骤的顺序和关联: rustCopy code 开始 --> 创建教师对象 --> 创建学生对象 --> 创建课程对象 --> 教师开设课程 --> 学生选课 --> 打印学生课表信息 --> 结束 4.核心代码 首先,创建教师(Teacher)类: public class Teacher { private int id; private String name; private String gender; private Course course; public Teacher(int id, String name, String gender) { this.id = id; this.name = name; this.gender = gender; } public void setCourse(Course course) { this.course = course; } public Course getCourse() { return course; } // 可以添加其他教师相关的属性和方法 } 接下来,创建学生(Student)类: public class Student { private int id; private String name; private String gender; private Course course; public Student(int id, String name, String gender) { this.id = id; this.name = name; this.gender = gender; } public void enrollCourse(Course course) { this.course = course; } public void dropCourse() { this.course = null; } public Course getCourse() { return course; } // 可以添加其他学生相关的属性和方法 } 然后,创建课程(Course)类: public class Course { private int id; private String name; private String location; private String time; private Teacher teacher; public Course(int id, String name, String location, String time) { this.id = id; this.name = name; this.location = location; this.time = time; } public void setTeacher(Teacher teacher) { this.teacher = teacher; } public Teacher getTeacher() { return teacher; } // 可以添加其他课程相关的属性和方法 } 接下来,创建测试主类(Main)来模拟教师开设课程、学生选课和打印学生课表信息: public class Main { public static void main(String[] args) { // 创建教师和学生对象 Teacher teacher1 = new Teacher(1, "张老师", "男"); Student student1 = new Student(101, "小明", "男"); // 创建课程对象 Course course1 = new Course(1001, "数学课", "教室A", "周一上午"); Course course2 = new Course(1002, "英语课", "教室B", "周二下午"); // 教师开设课程 teacher1.setCourse(course1); course1.setTeacher(teacher1); 5.感想 通过完成这个实验,我学到了如何设计和实现一个简单的学生选课系统。这个实验帮助我理解了面向对象编程的基本概念,如类、对象、属性和方法,以及它们之间的关系。我还学会了如何在Java中创建和使用类,以及如何模拟不同实体之间的交互。最重要的是,我意识到了面向对象编程的思维方式对于构建复杂的软件系统是非常有帮助的。 总之,这个实验对我的编程能力和面向对象编程的理解产生了积极影响,我期待能够进一步深入学习和实践这个领域。