1+ public class Grade {
2+ private String courseName ;
3+ private int marks ;
4+ private String grade ;
5+ private double gradePoint ;
6+
7+ // Constructor
8+ public Grade (String courseName , int marks ) {
9+ this .courseName = courseName ;
10+ this .marks = marks ;
11+ setGradeAndPoint (marks ); // auto-assign grade and GPA
12+ }
13+
14+ // Getters
15+ public String getCourseName () {
16+ return courseName ;
17+ }
18+
19+ public int getMarks () {
20+ return marks ;
21+ }
22+
23+ public String getGrade () {
24+ return grade ;
25+ }
26+
27+ public double getGradePoint () {
28+ return gradePoint ;
29+ }
30+
31+ // Setters
32+ public void setCourseName (String courseName ) {
33+ this .courseName = courseName ;
34+ }
35+
36+ public void setMarks (int marks ) {
37+ this .marks = marks ;
38+ setGradeAndPoint (marks ); // update grade & GPA when marks change
39+ }
40+
41+ // Private helper to assign grade & GPA based on KUET rules
42+ private void setGradeAndPoint (int marks ) {
43+ if (marks >= 80 ) { grade = "A+" ; gradePoint = 4.00 ; }
44+ else if (marks >= 75 ) { grade = "A" ; gradePoint = 3.75 ; }
45+ else if (marks >= 70 ) { grade = "A-" ; gradePoint = 3.50 ; }
46+ else if (marks >= 65 ) { grade = "B+" ; gradePoint = 3.25 ; }
47+ else if (marks >= 60 ) { grade = "B" ; gradePoint = 3.00 ; }
48+ else if (marks >= 55 ) { grade = "B-" ; gradePoint = 2.75 ; }
49+ else if (marks >= 50 ) { grade = "C+" ; gradePoint = 2.50 ; }
50+ else if (marks >= 45 ) { grade = "C" ; gradePoint = 2.25 ; }
51+ else if (marks >= 40 ) { grade = "D" ; gradePoint = 2.00 ; }
52+ else { grade = "F" ; gradePoint = 0.00 ; }
53+ }
54+
55+ // Print method
56+ public void printInfo () {
57+ System .out .println ("Course: " + courseName +
58+ " | Marks: " + marks +
59+ " | Grade: " + grade +
60+ " | GPA: " + gradePoint );
61+ }
62+ }
63+ // End of Grade class
0 commit comments