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

Please update the following program: import java.util.Scanner; public class Grad

ID: 3913833 • Letter: P

Question

Please update the following program:

import java.util.Scanner;

public class GradesforSam {

public static void main(String[] args) {

Scanner scnr = new Scanner(System.in);

int TOTAL_GRADES = 0;   

int i;

int sumGrade;

int minGrade;

int maxGrade;

double avgGrade;

char letterGrade = 0;

System.out.println("Hi Sam, how many total grades do you want to process?");

TOTAL_GRADES = scnr.nextInt();

int[] userGrade = new int[TOTAL_GRADES];

for (i = 0; i < userGrade.length; ++i)

{

System.out.println("Please enter grade " + (i+1) + ":");

userGrade[i] = scnr.nextInt();

}

sumGrade = 0;

minGrade = 0;

maxGrade = 0;

for (i = 0; i < userGrade.length; ++i)

{

sumGrade = sumGrade + userGrade[i];

if (userGrade[i] > maxGrade)

{

maxGrade = userGrade[i];

}

if (userGrade[i] < minGrade)

{

minGrade = userGrade[i];

}

}

if ((avgGrade >= 90) && (avgGrade <= 100))

{

letterGrade = 'A';

}

else if ((avgGrade >= 80) && (avgGrade <= 89))

{

letterGrade = 'B';

}

else if ((avgGrade >= 70) && (avgGrade <= 79))

{

letterGrade = 'C';

}

else if ((avgGrade >= 60) && (avgGrade <= 69))

{

letterGrade = 'D';

}

else if ((avgGrade >= 0) && (avgGrade <= 59))

{

letterGrade = 'F';

}

avgGrade = 1.0 * sumGrade/TOTAL_GRADES;

System.out.println("Your total score is: " + sumGrade);

System.out.println("Lowest score is: "+ minGrade);

System.out.println("Highest score is "+ maxGrade);

System.out.printf("Average score is: %.2f ",avgGrade);

System.out.println("Your grade so far is a " + letterGrade);

}

}

Create a method called getTotalScore that has 1 array parameter, and returns the total in the array

Create a method called getLowestScore that has 1 array parameter, and returns the lowest element in the array  

Create a method called getHighestScore that has 1 array parameter, and returns the highest element in the array  

Create a method called getAverage that has 2 parameters (the totalScore and size of the array), and returns the average score

Create a method called printGrade, that takes 1 parameter (your average score), and prints out your grade, based on the grade scale that is on our course Syllabus. [

Use JavaDoc style comments above all 5 methods, and your class header. Generate javadocs using the javadoc tool, and zip up the doc folder. Submit the doc.zip file with your submission

Explanation / Answer

Here is the completed code for this problem. Comments are included, go through it, learn how things work and let me know if you have any doubts. Thanks

// GradesforSam.java

import java.util.Scanner;

public class GradesforSam {

                public static void main(String[] args) {

                                Scanner scnr = new Scanner(System.in);

                                int TOTAL_GRADES = 0;

                                int i;

                                int sumGrade;

                                int minGrade;

                                int maxGrade;

                                double avgGrade;

                                System.out

                                                                .println("Hi Sam, how many total grades do you want to process?");

                                TOTAL_GRADES = scnr.nextInt();

                                int[] userGrade = new int[TOTAL_GRADES];

                                for (i = 0; i < userGrade.length; ++i)

                                {

                                                System.out.println("Please enter grade " + (i + 1) + ":");

                                                userGrade[i] = scnr.nextInt();

                                }

                                /**

                                * replaced everything with the newly created methods

                                */

                                sumGrade = getTotalScore(userGrade);

                                minGrade = getLowestScore(userGrade);

                                maxGrade = getHighestScore(userGrade);

                                avgGrade = getAverage(userGrade, TOTAL_GRADES);

                                System.out.println("Your total score is: " + sumGrade);

                                System.out.println("Lowest score is: " + minGrade);

                                System.out.println("Highest score is " + maxGrade);

                                System.out.printf("Average score is: %.2f ", avgGrade);

                                printGrade(avgGrade);

                }

                /**

                * method to calculate the total score

                *

                * @param array

                *            - array containing scores

                * @return the sum total of all values in array

                */

                static int getTotalScore(int array[]) {

                                int total = 0;

                                for (int i = 0; i < array.length; i++) {

                                                total += array[i];

                                }

                                return total;

                }

                /**

                * method to calculate the lowest score

                *

                * @param array

                *            - array containing scores

                * @return the lowest score among all values in array

                */

                static int getLowestScore(int array[]) {

                                int lowest = 0;

                                for (int i = 0; i < array.length; i++) {

                                                if (i == 0) {

                                                                lowest = array[i];

                                                } else if (array[i] < lowest) {

                                                                lowest = array[i];

                                                }

                                }

                                return lowest;

                }

                /**

                * method to calculate the highest score

                *

                * @param array

                *            - array containing scores

                * @return the highest score among all values in array

                */

                static int getHighestScore(int array[]) {

                                int highest = 0;

                                for (int i = 0; i < array.length; i++) {

                                                if (i == 0) {

                                                                highest = array[i];

                                                } else if (array[i] > highest) {

                                                                highest = array[i];

                                                }

                                }

                                return highest;

                }

                /**

                * method to calculate the average score

                *

                * @param array

                *            - array containing scores

                * @param size

                *            - size of array

                * @return the average score among all values in array

                */

                static double getAverage(int array[], int size) {

                                int sum = getTotalScore(array);

                                double average = (double) sum / size;

                                return average;

                }

                /**

                * method to print the letter grade

                *

                * @param avgGrade

                *            - average score

                */

                static void printGrade(double avgGrade) {

                                char letterGrade = ' ';

                                if ((avgGrade >= 90) && (avgGrade <= 100)) {

                                                letterGrade = 'A';

                                } else if ((avgGrade >= 80) && (avgGrade <= 89)) {

                                                letterGrade = 'B';

                                } else if ((avgGrade >= 70) && (avgGrade <= 79)) {

                                                letterGrade = 'C';

                                } else if ((avgGrade >= 60) && (avgGrade <= 69)) {

                                                letterGrade = 'D';

                                } else if ((avgGrade >= 0) && (avgGrade <= 59)) {

                                                letterGrade = 'F';

                                }

                                System.out.println("Letter grade: " + letterGrade);

                }

}

/*OUTPUT*/

Hi Sam, how many total grades do you want to process?

5

Please enter grade 1:

98

Please enter grade 2:

91

Please enter grade 3:

88

Please enter grade 4:

96

Please enter grade 5:

93

Your total score is: 466

Lowest score is: 88

Highest score is 98

Average score is: 93.20

Letter grade: A