I’m not getting any errors but I couldn’t add Course
//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);
However the program prints out in this way;
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
So that means i cannot addcourse why? I’m a new student in java so I’d appreciate any help.
Wow this is a beauty…
You are using a chain of if-else which makes sure that all the
ifare true and gets executed. In firstifyou check fornoOfCourse == 0and then increment it; in the next one you check fornoOfCourse==1which will be true due to the increment.So when you call you method
addCoursefirst time all courses are already set.Please Replace
with