我应该为addcourse
创建一个ArrayList
方法。
Arraylist
有学生和课程。课程在学生之后添加到该学生的最后。例如,Arraylist
可以包含(Student1, Course1, Course2, Student2, Course1, Course3)
。当我想将Course3
添加到Student1
时,它应该在Course2
之后,但在Student2
之前。
addcourse
方法应该有接口:
void addcourse(Student s, Course c).
首先选择我想要添加课程的学生和课程。如何在Student2
中找到ArrayList
的索引。
答案 0 :(得分:0)
你在使用ArrayList
做什么?您只需向Student类添加ArrayList<Course> courses
即可。
例如:
public class Student{
public ArrayList<Course> courses = new Arraylist<Course>;
//Other stuff
public void addCourse(Course c){
courses.add(c);
}
}
修改强>
由于这对OP不起作用,我还提供了一个在问题的约束下工作的方法。步骤:
Student
Student
Course
放在下一个Student
如果你的ArrayList被称为list
,那么这样的东西就可以了:
public void addCourse(Student student, Course course){
int studentIndex = -1;
int nextStudentIndex = -1;
for(int i=0; i<list.size(); i++){
if(!(list.get(i) instanceof Student)){
continue;
}
if(list.get(i).equals(student)){
studentIndex = i;
continue;
}
if(studentIndex != -1 && nextStudentIndex == -1){
nextStudentIndex = i;
}
}
list.add(nextStudentIndex, course);
}