Cannot resolve method 'setCurrentCapacity' in 'Course' jiejue
时间: 2024-01-05 18:02:39 浏览: 132
解决Cannot resolve unit name的错误
同样的,这个错误的原因是在 `Course` 类中没有定义 `setCurrentCapacity` 方法。
如果您需要设置课程的当前人数,可以将 `currentNum` 属性从 `Enrollment` 类中移动到 `Course` 类中,并在 `Course` 类中定义相应的 `getCurrentCapacity` 和 `setCurrentCapacity` 方法,例如:
```
public class Course {
private String courseId;
private String courseName;
private int credit;
private int maxNum;
private int currentCapacity;
// getter 和 setter 方法
public int getCurrentCapacity() {
return this.currentCapacity;
}
public void setCurrentCapacity(int currentCapacity) {
this.currentCapacity = currentCapacity;
}
}
```
然后,在 `Enrollment` 类中的 `addStudent` 和 `removeStudent` 方法中,通过调用 `Course` 对象的 `setCurrentCapacity` 方法来更新课程的当前人数,例如:
```
public boolean addStudent(Student student) {
if (this.currentNum == this.maxNum) {
System.out.println("选课人数已满,无法添加学生!");
return false;
}
boolean result = this.students.add(student);
if (result) {
this.currentNum += 1;
this.course.setCurrentCapacity(this.currentNum);
}
return result;
}
public boolean removeStudent(Student student) {
boolean result = this.students.remove(student);
if (result) {
this.currentNum -= 1;
this.course.setCurrentCapacity(this.currentNum);
}
return result;
}
```
这样,在测试代码中就可以通过调用 `getCurrentCapacity` 方法来获取当前课程的选课人数,并通过调用 `setCurrentCapacity` 方法来更新当前人数了。
阅读全文