provide a proper class method header which receiProvide the code for a class cal
ID: 3771635 • Letter: P
Question
provide a proper class method header which receiProvide the code for a class called Grades.java that would work with the driver class provided below. import java.util.Random; public class Driver { public static void main(String [] args) { Grades [] studentGrades = new Grades[25]; for (int x=0; x< studentGrades.length; x++) studentGrades[x] = new Grades(); Random rand = new Random(); for (int x=0; x< studentGrades.length; x++) { int grade = rand.nextInt(51)+50; studentGrades[x].addEntry(grade); } Grades.showResults(studentGrades) ; } } When the program runs, the following random output should be produced: (numbers will vary due to random) Lowest Grade: 60 Highest Grade: 99 Average: 78 Program specific requirements for Grades class: Declare 3 static variables for lowest, highest, and average grades. 3 pt Declare 1 instance variable to hold the grade. 1 pt addEntry Method provide a proper header which receives grade as input 1 pt store received grade in instance variable 1 pts showResults Method provide a proper class method header which receives array 1 pt utilize a for loop to iterate through array 1 pt add up grades into total static variable 1 pt set low to lowest grade received 1 pt set high to highest grade received 1 pt output lowest grade 1 pt output highest grade 1 pt output average grade 1 ptves array
Explanation / Answer
package assignment;
import java.util.ArrayList;
import java.util.Random;
public class Driver {
public static void main(String[] args) {
Grades[] studentGrades = new Grades[25];
for (int x = 0; x < studentGrades.length; x++)
studentGrades[x] = new Grades();
Random rand = new Random();
for (int x = 0; x < studentGrades.length; x++) {
int grade = rand.nextInt(51) + 50;
studentGrades[x].addEntry(grade);
}
Grades.showResults(studentGrades);
}
}
class Grades {
private ArrayList<Integer> scores = new ArrayList<Integer>();
private static int lowest;
private static int highest;
private static float average;
public Grades() {
lowest = 999999;
highest = 0;
average = 0;
}
public static void showResults(Grades[] studentGrades) {
// TODO Auto-generated method stub
if(studentGrades != null && studentGrades.length > 0) {
int stdlow = 999999;
int stdhigh = 0;
float stdavg = 0;
int stdtotal = 0;
String result = "";
float avgtotal = 0;
int i = 1;
for(Grades stdent: studentGrades) {
stdlow = 999999;
stdhigh = 0;
stdavg = 0;
stdtotal = 0;
//for each student calculate grades
for(int grade: stdent.getGrades()) {
stdtotal += grade;
if(grade < stdlow)
stdlow = grade;
if( grade > stdhigh)
stdhigh = grade;
}
stdavg = (float)stdtotal/stdent.getGrades().size();
//for total class calcualte, add each student
avgtotal += stdavg;
if( stdlow < lowest)
lowest = stdlow;
if( stdhigh > highest)
highest = stdhigh;
result += "For student#"+i+" : Lowest Grade: "+stdlow+" Highest Grade: "+stdhigh+" Average: "+stdavg+" ";
i++;
}
//calculate average for whole class
average = avgtotal / studentGrades.length;
System.out.println("For All students: Lowest Grade: "+lowest+" Highest Grade: "+highest+" Average: "+average);
System.out.println(result);
}
}
public void addEntry(int grade) {
// TODO Auto-generated method stub
scores.add(grade);
}
public ArrayList<Integer> getGrades() {
return scores;
}
}
--output--
For All students: Lowest Grade: 52 Highest Grade: 100 Average: 74.24
For student#1 : Lowest Grade: 57 Highest Grade: 57 Average: 57.0
For student#2 : Lowest Grade: 91 Highest Grade: 91 Average: 91.0
For student#3 : Lowest Grade: 69 Highest Grade: 69 Average: 69.0
For student#4 : Lowest Grade: 70 Highest Grade: 70 Average: 70.0
For student#5 : Lowest Grade: 76 Highest Grade: 76 Average: 76.0
For student#6 : Lowest Grade: 52 Highest Grade: 52 Average: 52.0
For student#7 : Lowest Grade: 62 Highest Grade: 62 Average: 62.0
For student#8 : Lowest Grade: 84 Highest Grade: 84 Average: 84.0
For student#9 : Lowest Grade: 59 Highest Grade: 59 Average: 59.0
For student#10 : Lowest Grade: 72 Highest Grade: 72 Average: 72.0
For student#11 : Lowest Grade: 58 Highest Grade: 58 Average: 58.0
For student#12 : Lowest Grade: 100 Highest Grade: 100 Average: 100.0
For student#13 : Lowest Grade: 96 Highest Grade: 96 Average: 96.0
For student#14 : Lowest Grade: 100 Highest Grade: 100 Average: 100.0
For student#15 : Lowest Grade: 55 Highest Grade: 55 Average: 55.0
For student#16 : Lowest Grade: 67 Highest Grade: 67 Average: 67.0
For student#17 : Lowest Grade: 62 Highest Grade: 62 Average: 62.0
For student#18 : Lowest Grade: 96 Highest Grade: 96 Average: 96.0
For student#19 : Lowest Grade: 72 Highest Grade: 72 Average: 72.0
For student#20 : Lowest Grade: 60 Highest Grade: 60 Average: 60.0
For student#21 : Lowest Grade: 87 Highest Grade: 87 Average: 87.0
For student#22 : Lowest Grade: 77 Highest Grade: 77 Average: 77.0
For student#23 : Lowest Grade: 88 Highest Grade: 88 Average: 88.0
For student#24 : Lowest Grade: 61 Highest Grade: 61 Average: 61.0
For student#25 : Lowest Grade: 85 Highest Grade: 85 Average: 85.0
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.