我没有得到任何错误,但我不能加场添加对象在Java中
//in my Course class i use equals method to check whether they are the sam
public boolean equals (Course other){
Course c = (Course) other;
if(c != null){
if (this.name.equals(c.name) && this.instructor.equals(c.instructor) && this.numberOfSection == (c.numberOfSection) && this.year == (c.year))
return true;
else
return false;
}
else
return false;
}
//in my CourseCatalog class i use the equals method in Course and if they are not same
// i add the course to the catalog
public void addCourse (Course other) {
if(other != null){
if(!other.equals(course1) && !other.equals(course2) && !other.equals(course3) && !other.equals(course4))
{
if (noOfCourse == 0){
course1 = new Course(other);
noOfCourse ++;
}
if (noOfCourse == 1){
course2 = new Course(other);
noOfCourse ++;
}
if (noOfCourse == 2){
course3 = new Course(other);
noOfCourse ++;
}
if(noOfCourse == 3){
course4 = new Course(other);
noOfCourse ++;
}
}
}
}
//the following code is what i do in the tester class
CourseCatalog myCourseCatalog = new CourseCatalog();
Course course1 = new Course();
course1.setName("Math101");
course1.setInstructor("Jack Smith");
course1.setYear(2007);
course1.setNumberOfSection(3);
myCourseCatalog.addCourse(course1);
// i add a different course
Course course2 = new Course("Cs101", "David Brown", 2003 ,3);
myCourseCatalog.addCourse(course2);
Course copyCourse = new Course(course2);
myCourseCatalog.addCourse(copyCourse);
然而该方案以这种方式打印出来;
Name: Math101
Instructor: Jack Smith
Year: 2007
Number Of Sections: 3Name: Math101
Instructor: Jack Smith
Year: 2007
Number Of Sections: 3Name: Math101
Instructor: Jack Smith
Year: 2007
Number Of Sections: 3Name: Math101
Instructor: Jack Smith
Year: 2007
Number Of Sections: 3
那么这意味着我不能addcourse为什么?我是一名新学员,所以我会很感激任何帮助。
放入代码,您正在遍历'myCourseCatalog'并打印'Course' – SiB
这里是课程中的打印信息方法; public String printInfo(){ \t \t String sentence =“”; \t \t sentence + =“Name:”+ name +“\ n”; \t \t句子+ =“讲师:”+讲师+“\ n”; \t \t sentence + =“Year:”+ year +“\ n”; \t \t句子+ =“章节数:”+ numberOfSection +“\ n”; \t \t return return; \t} –
并确保在调用addCourse方法之前包含noOfCourse定义的代码以及对其值的任何修改。 –