-
Notifications
You must be signed in to change notification settings - Fork 1
/
GradeBook3.java
123 lines (104 loc) · 2.81 KB
/
GradeBook3.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import java.util.Scanner;;
public class GradeBook3
{
private String courseName;
private int total;
private int gradeCounter;
private int aCount;
private int bCount;
private int cCount;
private int dCount;
private int fCount;
// default constructor.
public GradeBook3()
{
courseName = "";
total = gradeCounter = aCount = bCount = cCount = dCount = fCount = 0;
}
// parametrized constructor.
public GradeBook3(String courseName)
{
this.courseName = courseName;
}
// setter method.
public void setCourseName(String courseName)
{
this.courseName = courseName;
}
// getter method.
public String getCourseName()
{
return (this.courseName);
}
// display method.
public void displayMessage()
{
System.out.println("Welcome to grade book for " + getCourseName());
}
// input user entered grades .
public void inputGrades()
{
var input = new Scanner(System.in);
int grades = 0;
System.out.print("Enter grades (0 - 100) : ");
while (input.hasNext())
{
grades = input.nextInt();
total += grades;
++gradeCounter;
incrementLetterGradeCounter(grades);
}
input.close();
}
// increment in grade counter vairables
private void incrementLetterGradeCounter(int grade)
{
switch (grade / 10)
{
case 10:
case 9:
++aCount;
break;
case 8:
++bCount;
break;
case 7:
++cCount;
break;
case 6:
++dCount;
break;
default:
++fCount;
break;
}
}
// display the grade reports.
public void displayGradeReport()
{
if (gradeCounter != 0)
{
double average = (double) total / gradeCounter;
System.out.println("Total of " + gradeCounter + " grades : " + total);
System.out.printf("Average of grades is %.2f\n", average);
System.out.println("Number of students who received each grade: \n" +
"A : " + aCount + "\n" +
"B : " + bCount + "\n" +
"C : " + cCount + "\n" +
"D : " + dCount + "\n" +
"F : " + fCount + "\n");
}
else
{
System.out.println("No grades were entered.");
}
}
// main driven function.
public static void main(String[] args)
{
var gradebook = new GradeBook3("CS 50");
gradebook.displayMessage();
gradebook.inputGrades();
gradebook.displayGradeReport();
}
}