I have 3 ArrayLists.
- Students (ID, Name, Program)
- Courses (ID, Name, Credit Hours)
- StudentCourses (StudentId, CourseID)
I am searching from StudentCourses by passing the StudentID and getting the courses registered with his/her name. My StudentCourse ArrayLIst has objects like this
49 (Student ID) CS233(Course ID)
49 (Student ID) CS231(Course ID)
When a user searches for a student, say I'm searching for Johnna with her registration number 49. The result is
Reg ID: 49 Name : Johnna Program: BSCS Courses Registered: CS233 CS231
Which is fine. But, what I really need to do is get the name of the course using the course IDs that appear in the search info of Johnna. The Course ArrayList looks like this:
CS233 OOP BSCS
CS231 ALgorithms BSCS
I tried this code but it didn't seem to work. It keeps giving either garbage values or it just prints all Course names until there is a null exception:
if (myStudent == null) {
System.out.print("No Record Was Found");
} else {
System.out.print("Student ID: " + myStudent.getID() + "\nFull Name: " + myStudent.getName() + "\nProgram: " + myStudent.getProgram() +
"\nTotal Credit Hours: " + (Integer.parseInt(myStudent.getTotalCreds())) * 3420 + "Rs" + "\nCourses Registered:\n");
}
for (int i = 0; i < studCourseList.size(); i++) {
if (studCourseList.get(i).getSid().equals(ID)) {
System.out.print("- " + studCourseList.get(i).getCid() + "\n");
for (int j = 0; j < CoursesList.size(); j++) {
if(CoursesList.get(i).getID().equals(studCourseList.get(i).getCid())){
System.out.print("- " + CoursesList.get(i).getName() + "\n");
break;
}
}
}
}
The upper portion is bringing the Student info, the first loop is for the Courses registered against the student ID, and the second loop is not working. Note that all objects are on different lines.