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
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("----------------------------------------- "); } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
