/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
class GradeBookTest
{
public static void main
( String[] args
) {
int[] gradesArray = { 87, 68, 94, 100, 83, 78, 85, 91, 76, 87 };
GradeBook myGradeBook = new GradeBook("CS101 Introduction to Java Programming", gradesArray );
myGradeBook.displayMessage();
myGradeBook.processGrades();
}
}
class GradeBook
{
private int[] grades;
public GradeBook
( String name,
int[] gradesArray
) {
courseName = name;
grades = gradesArray;
}
public void setCourseName
( String name
) {
courseName = name;
}
{
return courseName;
}
public void displayMessage()
{
System.
out.
printf( "Welcome to the grade book for%s!",getCourseName
() ); }
public void processGrades()
{
outputGrades();
System.
out.
printf( "Class average is %.2f", getAverage
() ); //outputBarChart();
}
public double getAverage()
{
int total = 0; // initialize total
for ( int grade : grades )
total += grade;
return ( double ) total / grades.length;
}
//public void outputBarChart()
public void outputGrades()
{
System.
out.
println( "The grades are:" ); for ( int student = 0; student < grades.length; student++ )
System.
out.
printf( "Student %2d: %3d", student
+ 1, grades
[ student
] ); }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKIGNsYXNzIEdyYWRlQm9va1Rlc3QgCiB7IAoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oIFN0cmluZ1tdIGFyZ3MgKSAKCXsgCgoJCWludFtdIGdyYWRlc0FycmF5ID0geyA4NywgNjgsIDk0LCAxMDAsIDgzLCA3OCwgODUsIDkxLCA3NiwgODcgfTsgCgkKCQlHcmFkZUJvb2sgbXlHcmFkZUJvb2sgPSBuZXcgR3JhZGVCb29rKCJDUzEwMSBJbnRyb2R1Y3Rpb24gdG8gSmF2YSBQcm9ncmFtbWluZyIsIGdyYWRlc0FycmF5ICk7IAoJCW15R3JhZGVCb29rLmRpc3BsYXlNZXNzYWdlKCk7IAoJCW15R3JhZGVCb29rLnByb2Nlc3NHcmFkZXMoKTsgCgl9IAogfSAKIAogCiBjbGFzcyBHcmFkZUJvb2sgCiB7IAoJcHJpdmF0ZSBTdHJpbmcgY291cnNlTmFtZTsgCglwcml2YXRlIGludFtdIGdyYWRlczsgCgoJcHVibGljIEdyYWRlQm9vayggU3RyaW5nIG5hbWUsIGludFtdIGdyYWRlc0FycmF5ICkgCgl7IAoJCWNvdXJzZU5hbWUgPSBuYW1lOwoJCWdyYWRlcyA9IGdyYWRlc0FycmF5OyAKCX0gCglwdWJsaWMgdm9pZCBzZXRDb3Vyc2VOYW1lKCBTdHJpbmcgbmFtZSApIAoJeyAKCQljb3Vyc2VOYW1lID0gbmFtZTsKCX0gCglwdWJsaWMgU3RyaW5nIGdldENvdXJzZU5hbWUoKSAKCXsgCgkJcmV0dXJuIGNvdXJzZU5hbWU7Cgl9IAoJcHVibGljIHZvaWQgZGlzcGxheU1lc3NhZ2UoKSAKCXsgCgkJU3lzdGVtLm91dC5wcmludGYoICJXZWxjb21lIHRvIHRoZSBncmFkZSBib29rIGZvciVzISIsZ2V0Q291cnNlTmFtZSgpICk7IAoJfSAKCXB1YmxpYyB2b2lkIHByb2Nlc3NHcmFkZXMoKSAKCXsgCgkJb3V0cHV0R3JhZGVzKCk7IAoJCVN5c3RlbS5vdXQucHJpbnRmKCAiQ2xhc3MgYXZlcmFnZSBpcyAlLjJmIiwgZ2V0QXZlcmFnZSgpICk7IAoJCS8vb3V0cHV0QmFyQ2hhcnQoKTsgCgl9IAoJcHVibGljIGRvdWJsZSBnZXRBdmVyYWdlKCkgCgl7IAoJCWludCB0b3RhbCA9IDA7IC8vIGluaXRpYWxpemUgdG90YWwKCQlmb3IgKCBpbnQgZ3JhZGUgOiBncmFkZXMgKSAKCQkJdG90YWwgKz0gZ3JhZGU7IAoJCXJldHVybiAoIGRvdWJsZSApIHRvdGFsIC8gZ3JhZGVzLmxlbmd0aDsgCgl9IAoKCS8vcHVibGljIHZvaWQgb3V0cHV0QmFyQ2hhcnQoKSAKCglwdWJsaWMgdm9pZCBvdXRwdXRHcmFkZXMoKSAKCXsgCgkJU3lzdGVtLm91dC5wcmludGxuKCAiVGhlIGdyYWRlcyBhcmU6IiApOyAKCQlmb3IgKCBpbnQgc3R1ZGVudCA9IDA7IHN0dWRlbnQgPCBncmFkZXMubGVuZ3RoOyBzdHVkZW50KysgKSAKCQkJU3lzdGVtLm91dC5wcmludGYoICJTdHVkZW50ICUyZDogJTNkIiwgc3R1ZGVudCArIDEsIGdyYWRlc1sgc3R1ZGVudCBdICk7IAoJfSAKIH0g