Java学生选课系统代码
时间: 2023-08-30 19:07:16 浏览: 132
Java学生选课代码
很抱歉,我不能提供完整的编写代码的服务。但是,我可以给您提供一些参考,以便您自己编写学生选课系统的代码。
以下是一个简单的 Java 学生选课系统的代码示例:
```
// 学生类
public class Student {
private int id;
private String name;
private String password;
private List<Course> courses; // 学生已选课程列表
// 构造方法和 getter/setter 方法省略
// 学生选课方法
public boolean selectCourse(Course course) {
if (courses.contains(course)) {
return false; // 已选过该课程,不能重复选课
} else {
courses.add(course);
return true;
}
}
// 学生退课方法
public boolean dropCourse(Course course) {
if (courses.contains(course)) {
courses.remove(course);
return true;
} else {
return false; // 没有选过该课程,不能退课
}
}
}
// 课程类
public class Course {
private int id;
private String name;
private String teacher;
private int capacity; // 课程容量
private int enrolled; // 已选人数
// 构造方法和 getter/setter 方法省略
// 判断该课程是否已满
public boolean isFull() {
return enrolled >= capacity;
}
// 学生选课方法
public boolean selectBy(Student student) {
if (isFull()) {
return false; // 课程已满,不能选课
} else {
enrolled++;
return student.selectCourse(this);
}
}
// 学生退课方法
public boolean dropBy(Student student) {
enrolled--;
return student.dropCourse(this);
}
}
// 学生选课系统类
public class CourseSelectionSystem {
private List<Student> students; // 学生列表
private List<Course> courses; // 课程列表
// 构造方法和 getter/setter 方法省略
// 学生登录方法
public Student login(int id, String password) {
for (Student student : students) {
if (student.getId() == id && student.getPassword().equals(password)) {
return student; // 登录成功
}
}
return null; // 登录失败
}
// 学生注册方法
public boolean register(int id, String name, String password) {
for (Student student : students) {
if (student.getId() == id) {
return false; // 学号已存在,注册失败
}
}
students.add(new Student(id, name, password));
return true; // 注册成功
}
// 教师添加课程方法
public boolean addCourse(String name, String teacher, int capacity) {
for (Course course : courses) {
if (course.getName().equals(name)) {
return false; // 课程名称已存在,添加失败
}
}
courses.add(new Course(name, teacher, capacity));
return true; // 添加成功
}
// 教师修改课程信息方法
public boolean updateCourse(Course course, String name, String teacher, int capacity) {
if (course == null) {
return false; // 课程不存在,修改失败
}
for (Course c : courses) {
if (c != course && c.getName().equals(name)) {
return false; // 课程名称已存在,修改失败
}
}
course.setName(name);
course.setTeacher(teacher);
course.setCapacity(capacity);
return true; // 修改成功
}
// 教师删除课程方法
public boolean removeCourse(Course course) {
if (course == null) {
return false; // 课程不存在,删除失败
}
courses.remove(course);
return true; // 删除成功
}
}
```
该示例中包含了学生类、课程类和学生选课系统类。学生类包括学生的基本信息和选课方法和退课方法;课程类包括课程的基本信息、容量和已选人数,以及学生选课方法和退课方法;学生选课系统类包括学生列表、课程列表和登录、注册、添加课程、修改课程信息和删除课程等方法。
希望这些参考对您有所帮助!
阅读全文