A comprehensive Java-based student grade management system with advanced features including exception handling, reporting, and bulk imports.
- Add Regular and Honors students
- Auto-generated student IDs (STU001, STU002, …)
- View all students with type, average grade, and status
- Honors students show eligibility (average ≥ 85%)
-
Record grades for Core and Elective subjects
-
Grade validation (0–100)
-
Auto-generated grade IDs (GRD001, GRD002, …)
-
View grade report for any student
-
Displays grades in a table
-
Calculates:
- Core Average
- Elective Average
- Overall Average
- Student Management (Regular and Honors students)
- Grade Recording and Tracking
- Grade Report Generation (Summary and Detailed)
- Bulk CSV Import
- GPA Calculation
- Class Statistics
- Advanced Search Functionality
- Clone the repository
- Ensure Java JDK 8+ is installed
- Compile:
javac *.java - Run:
java Main
- Displays 5 pre-loaded students
- Shows type, passing grade, and eligibility
- Add Regular or Honors student
- Generates unique ID
- Status = "Active"
- Select subject type & subject
- Enter grade (0–100)
- Confirms before saving
- Grades shown in table
- Shows averages & summary
- Handles “no grades” case
- Loops until exit
- Handles invalid input
Run tests with JUnit 5.
StudentandSubjectare abstract classes- Define shared properties and behaviors
RegularStudentandHonorsStudentextendStudentCoreSubjectandElectiveSubjectextendSubject
displayStudentDetails()overridden in subclasses- One method call, different behavior based on type
Gradabledefines grade behaviors
- StudentManager contains
Student[] - GradeManager contains
Grade[]
- Private fields with getters/setters
