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.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.