Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Class design requirements:program should contain the following classes. Indentation indicates which classes are inner to others. Student RecordManager - Private inner class TranscriptPrinter Student
Class design requirements:program should contain the following classes. Indentation indicates which classes are inner to others. Student RecordManager - Private inner class TranscriptPrinter Student Here are the requirements for each class: Student RecordManager: Contains a list of Students. Course - Static inner enum Grade that has at least the following instances: A, B, C, D, F Tester Has the following instance methods: getStudent, removeStudent, addStudent, searchByID (which takes one integer and returns a Student with that ID, or null if no such student exists). Instance method void printTranscript, which takes a Student argument and prints to the screen the Student's first name, last name, ID, and courses, with grade for each course. This method body must delegate the work to an instance of TranscriptPrinter. It could be a single line. Instance method void printAllTranscripts, which does the same as above, but for all students, one after the other. This method body must delegate the work to an instance of TranscriptPrinter. It could be a single line. Finally: iterator(), which must return an Iterator for the list of Students. TranscriptPrinter: (Inner class) Inner class to StudentRecordManager. Actually does the printing to screen of transcripts. You can design this class any way you wish. Student: Contains a list of Course objects, a String first name, a String last name, and an integer ID. Has setter and getter methods for first name, last name, and ID. Has a method to add a Course to this Student's Course list. (A method to remove a Course is not required). A method to get the list of courses. (Normally, we would probably want an iterator over them, but returning the actual list is fine for this project). Course: Has instance variables String name and Grade grade. Has getter methods for each. Setters are optional (You can, if you wish, just initialize these values in the constructor). Grade: Static nested enum to Course. Don't be intimidated! Remember, enums are just classes whose list of instances are all created at startup (and which cannot be constructed thereafter). Has at least the following instances: A, B, C, D, F. Others are optional. Tester: Creates a Student RecordManager with at least five Students. Calls printTranscript. Calls printAll Transcripts. Searches for a Student that exists, by ID, and prints that Student's first and last name. Removes a Student (could be the one from previous step, or any other, your choice). calls printAllTranscripts a second time. Note: These should be done in the above order! Testing single-student transcript print: Printing transcript for student First1 Last1 (#736271) : History W English A CompSci B Geophysics C Testing all-student transcript print: Printing transcript for student First1 Last1 (#736271) : History W English A CompSci B Geophysics C Printing transcript for student First2 Last2 (#395326) : English A Geophysics C CompSci I Geology W Printing transcript for student First3 Last3 (#447851) : English I Physics F Geology W History B Printing transcript for student First4 Last4 (#136334) : Physiology B History A Physiology A Physics D Printing transcript for student First5 Last5 (#352606) : English F CompSci C Physiology W CompSci A Searching for Student with ID 736271: Found Student with first, last name: First1 Last1 Removing that Student: 736271: Testing all-student transcript printer again: Printing transcript for student First2 Last2 (#395326) : English A Geophysics C CompSci I Geology W Printing transcript for student First3 Last3 (#447851) : English I Physics F Geology W History B Printing transcript for student First4 Last4 (#136334) : Physiology B History A Physiology A Physics D Printing transcript for student First5 Last5 (#352606) : English F CompSci C Physiology W CompSci A
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Course Class public class Course enum Grade A B C D F String name Grade grade CourseString name Grade grade thisname name thisgrade grade String getName return name Grade getGrade return grade void se...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started