Class GradeBook
(Fig. C.2) contains a constructor (lines 11–14) that assigns a value to the class’s instance variable courseName
(declared in line 8). Lines 17–20, 23–26 and 29–34 declare methods setCourseName
, getCourseName
and displayMessage
, respectively. Lines 37–66 declare method determineClassAverage
, which implements the class-averaging algorithm described by the pseudocode in Fig. C.1.
Line 40 declares and initializes Scanner
variable input
, which is used to read values entered by the user. Lines 42–45 declare local variables total
, gradeCounter
, grade
and average
to be of type int
. Variable grade
stores the user input.
The declarations (in lines 42–45) appear in the body of method determineClassAverage
. A local variable’s declaration must appear before the variable is used in that method. A local variable cannot be accessed outside the method in which it’s declared.
The assignments (in lines 48–49) initialize total
to 0
and gradeCounter
to 1
. Line 52 indicates that the while
statement should continue looping (also called iterating) as long as gradeCounter
’s value is less than or equal to 10. While this condition remains true, the while
statement repeatedly executes the statements between the braces that delimit its body (lines 54–57).
Line 54 displays the prompt "Enter grade: "
. Line 55 reads the grade entered by the user and assigns it to variable grade
. Then line 56 adds the new grade
entered by the user to the total
and assigns the result to total
, which replaces its previous value.
Line 57 adds 1
to gradeCounter
to indicate that the program has processed a grade and is ready to input the next grade from the user. Incrementing gradeCounter
eventually causes it to exceed 10. Then the loop terminates, because its condition (line 52) becomes false.
When the loop terminates, line 61 performs the averaging calculation and assigns its result to the variable average
. Line 64 uses System.out
’s printf
method to display the text "Total of all 10 grades is "
followed by variable total
’s value. Line 65 then uses printf
to display the text "Class average is "
followed by variable average
’s value. After reaching line 66, method determineClassAverage
returns control to the calling method (i.e., main
in GradeBookTest
of Fig. C.3).