java定义一个course类,java集合,定义两个类,学生Student和课程Course,课程被学生选修,请在课程类中提供以下功能:...
时间: 2024-03-25 16:35:30 浏览: 91
好的,我来为您提供一个示例代码:
```
import java.util.ArrayList;
public class Course {
private String name; // 课程名称
private int credit; // 学分
private ArrayList<Student> students; // 学生列表
public Course(String name, int credit) {
this.name = name;
this.credit = credit;
this.students = new ArrayList<>();
}
public String getName() {
return name;
}
public int getCredit() {
return credit;
}
public ArrayList<Student> getStudents() {
return students;
}
public void addStudent(Student student) {
students.add(student);
student.addCourse(this);
}
public void removeStudent(Student student) {
students.remove(student);
student.removeCourse(this);
}
}
```
在上面的代码中,我们定义了一个 `Course` 类,其中包含了课程的名称、学分和学生列表。我们提供了以下功能:
- 构造函数:用于初始化课程名称和学分,并创建一个空的学生列表。
- `getName()` 和 `getCredit()` 方法:用于获取课程名称和学分。
- `getStudents()` 方法:用于获取学生列表。
- `addStudent()` 方法:用于添加一个学生到学生列表中。同时,我们也调用学生的 `addCourse()` 方法,将该课程添加到学生的课程列表中。
- `removeStudent()` 方法:用于从学生列表中移除一个学生。同时,我们也调用学生的 `removeCourse()` 方法,将该课程从学生的课程列表中移除。
另外,我们还需要定义一个 `Student` 类,用于表示学生。在 `Student` 类中,我们也需要维护一个课程列表,用于表示该学生选修的所有课程。以下是 `Student` 类的示例代码:
```
import java.util.ArrayList;
public class Student {
private String name; // 学生姓名
private ArrayList<Course> courses; // 选修课程列表
public Student(String name) {
this.name = name;
this.courses = new ArrayList<>();
}
public String getName() {
return name;
}
public ArrayList<Course> getCourses() {
return courses;
}
public void addCourse(Course course) {
courses.add(course);
}
public void removeCourse(Course course) {
courses.remove(course);
}
}
```
在上面的代码中,我们定义了一个 `Student` 类,其中包含了学生的姓名和选修课程列表。我们提供了以下功能:
- 构造函数:用于初始化学生姓名,并创建一个空的选修课程列表。
- `getName()` 方法:用于获取学生姓名。
- `getCourses()` 方法:用于获取选修课程列表。
- `addCourse()` 方法:用于将一门课程添加到选修课程列表中。
- `removeCourse()` 方法:用于将一门课程从选修课程列表中移除。
以上就是一个简单的实现,您可以根据自己的需求进行修改和扩展。
阅读全文