我正在尝试用 fillWithCourses()
中的 courses[]
对象填充构造函数中的UCFCourse courseOne
。UCFCourse courseOne
确实填充在构造函数之外,但不会进入构造函数。
public class UCFSemester<courses> {
private static UCFCourse courseOne;
private static double totalSemesters;
private static double completionTime;
static boolean fillSemester = true;
public UCFSemester(UCFCourse courseOne, UCFCourse[] coursetwo) {
this.courseOne = courseOne;
}
public static UCFCourse getcourseOne() {
return courseOne;
}
public static void setCoursesone(UCFCourse courses) {
courseOne = courses;
}
public static void fillWithCourses(UCFCourse courses[], int l) {
int x = 0;
while (fillSemester) {
for (int n = 0; n < 5; n++) {
if (x != n && courses[x].getCourseLevel() < courses[n].getCourseLevel()) {
setCoursesone(courses[x]);
}
}
fillSemester = false;
}
}
}
附带问题。如何以非静态方式访问这一切?我需要整个事情是非静态的,但无论我做什么,我都无法得到它。谢谢!
您可以通过
创建如下所示的List
来简单地做到这一点:
public class UCFSemester {
private List<UCFCourse> courseList = new ArrayList<>();
public UCFCourse getCourse(int index) {
return courseList.get(index);
}
public void addCourses(UCFCourse[] courses) {
for(int x = 0; x < courses.length; x++) {
courseList.add(courses[x]);
}
}
}
在这里,我假设您正在传递包含该特定学期中所有课程详细信息的UCFCourse[]
数组。
addCourses()
函数将采用此数组,然后将所有相应的课程添加到List
中。
getCourse()
函数将从列表中返回任何特定课程(使用索引)。您还可以以所需的任何方式修改搜索。