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

JAVA : Modify the grade book application so that it drops each student\'s lowest

ID: 3714752 • Letter: J

Question

JAVA: Modify the grade book application so that it drops each student's lowest score when determining the test score averages and letter grades.

Here is my original code:

import java.util.Scanner;

public class TestScores
{
String names[];
char grades[];
double scores1[];
double scores2[];
double scores3[];
double scores4[];
double scores5[];

TestScores()
{
names = new String[5];
grades = new char[5];
scores1 = new double[4];
scores2 = new double[4];
scores3 = new double[4];
scores4 = new double[4];
scores5 = new double[4];
}

//calculate avererage of all the test scores
public double getAverage(double arr[])
{
double total = 0;
for(int i = 0; i < arr.length; ++i){
total += arr[i];
}

return total / arr.length;
}
  
//get the letter grade for the class
public char getLetterGrade(double average){
if(average >= 90 && average <= 100){
return 'A';
}
else if(average >= 80 && average <= 89){
return 'B';
}
else if(average >= 70 && average <= 79){
return 'C';
}
else if(average >= 60 && average <= 69){
return 'D';
}
else{
return 'F';
}
}
}

class TestScoresMain {
  
public static double getScore()
{
Scanner in = new Scanner(System.in);
double score;
  
  
while(true)
{
System.out.print("Enter score(0 - 100): ");
score = in.nextDouble();
if(score >= 0 && score <= 100){
//if test score is valid, else statement will skip
break;
}
else{
System.out.println("Invalid Input. Score must be 0-100");
}
}
return score;
}
  
public static void getStudentDetails(String name, double scores[], int i)
{
Scanner in = new Scanner(System.in);
System.out.println("Enter " + scores.length + " Scores");
  
for(int j = 0; j < scores.length; ++j){
scores[j] = getScore();
}
}
  
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
  
TestScores s = new TestScores();
  
  
System.out.println("Enter Student 1 Details");
System.out.print("Name: ");
s.names[0] = in.next();
getStudentDetails(s.names[0], s.scores1, 0);
  
  
System.out.println("Enter Student 2 Details");
System.out.print("Name: ");
s.names[1] = in.next();
getStudentDetails(s.names[1], s.scores2, 1);
  
  
System.out.println("Enter Student 3 Details");
System.out.print("Name: ");
s.names[2] = in.next();
getStudentDetails(s.names[2], s.scores3, 2);


System.out.println("Enter Student 4 Details");
System.out.print("Name: ");
s.names[3] = in.next();
getStudentDetails(s.names[3], s.scores4, 3);
  
  
System.out.println("Enter Student 5 Details");
System.out.print("Name: ");
s.names[4] = in.next();
getStudentDetails(s.names[4], s.scores5, 4);
  
//student1
System.out.println("----------------------------------------- ");
System.out.println("Name: " + s.names[0]);
System.out.println("Average: " + s.getAverage(s.scores1));
System.out.println("Grade: " + s.getLetterGrade(s.getAverage(s.scores1)));
System.out.println("----------------------------------------- ");

//student 2
System.out.println("----------------------------------------- ");
System.out.println("Name: " + s.names[1]);
System.out.println("Average: " + s.getAverage(s.scores2));
System.out.println("Grade: " + s.getLetterGrade(s.getAverage(s.scores2)));
System.out.println("----------------------------------------- ");

//student3
System.out.println("----------------------------------------- ");
System.out.println("Name: " + s.names[2]);
System.out.println("Average: " + s.getAverage(s.scores3));
System.out.println("Grade: " + s.getLetterGrade(s.getAverage(s.scores3)));
System.out.println("----------------------------------------- ");

//student4
System.out.println("----------------------------------------- ");
System.out.println("Name: " + s.names[3]);
System.out.println("Average: " + s.getAverage(s.scores4));
System.out.println("Grade: " + s.getLetterGrade(s.getAverage(s.scores4)));
System.out.println("----------------------------------------- ");

//student5
System.out.println("----------------------------------------- ");
System.out.println("Name: " + s.names[4]);
System.out.println("Average: " + s.getAverage(s.scores5));
System.out.println("Grade: " + s.getLetterGrade(s.getAverage(s.scores5)));
System.out.println("----------------------------------------- ");
}
}

Explanation / Answer

Hi Please find my modified program.