Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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