Home > DeveloperSection > Forums > How to Find average/highest/lowest grade of input array elements in java?
Monaj Singh
Monaj Singh

Total Post:41

Points:287
Posted on    November-12-2014 10:39 PM

 Java Array 
Ratings:


 1 Reply(s)
 754  View(s)
Rate this:

I'm a beginner Java programmer (like..level 0...). There's this project that I'm working on but I've been stumped for days. I probably also have a lot of little mistakes I didn't notice.

The project is this:

Ask the user to enter a series of grades from 0.00 to 100.00 Do not let the user exceed those boundaries. Make enough space for up to 100 grades. Stop adding grades when the user enters -1. Create a (generic!) function to compute the average of the grades. Also create functions to get the highest, and lowest of the grades. Use these functions to print out and inform the user of the average, highest, and lowest grades.

So far I've got the first half of the code (entering up to 100 grades) but I am completely clueless as to how I should find the average, highest, and lowest grades. Could someone give me ideas or at least give me some sort of example?

Here's my code as of the moment (It's incomplete, especially around the average/highest/lowest grade):

import java.util.*;

 public class GradeStats

 { 

public static void main(String [] args)

{

    boolean done = false;

    double d1; // Remember we can use commas

    Scanner inputReader = new Scanner(System.in);

    System.out.println("\nThis program will find the average, highest, and lowest grades.");   

    int age[] = new int[100];

    System.out.println("Enter a series of grades from 0.00 to 100.00 or type '-1' to exit.\n");

 

    while(!done)

    {

        double gradeA = inputReader.nextDouble();

        Scanner endReader = new Scanner (System.in);

        if(gradeA == -1)

        {

                done = true;

        }  

        else if(gradeA > 100)

        {

                done = true;

                System.out.println("Sorry, this is not a valid grade.");

        }  

    }

    int gradeCount; //Number of input grades

    double grade; //Grade Value

    while (gradeCount! = -1)

    {

        gradeCount = gradeCount++

    }

    if (gradeCount !=0)

    {

        double average

        average = double total/ gradeCount;

        System.out.println("The average grade of the students is " +  average(grade));

    }

      public static double arrayAverage(int intArray[])

      {

        double arrayAverage;

        arrayAverage = gradeA / 3;

        return averageAnswer;

     }

        if (hGrade > lGrade)

        {

        System.out.println("The highest grade is" +hGrade);

        }

        else if (lGrade < hGrade)

        {

            System.out.println("The  grade is +hGrade);

        }

        System.out.println("The lowest grade is" + lGrade);

        System.out.println("The average grade of the students is " +  arrayAverage(grade));

       System.out.println("Bye.");

  }

}



Anurag Sharma
Anurag Sharma

Total Post:40

Points:280
Posted on    November-13-2014 12:13 AM

Building off of Denise's answer, you can pass the double array to this function to print the average, min, and max.

private void printAverageMinAndMax(double[] grades){

    double total = 0.0;

    double max = 0.0;

    double min = Double.MAX_VALUE;

    for(int i = 0; i < 100; i++){

        double grade = grades[i];

        total += grade;

        if(max < grade){

            max = grade;

        }

        if(min > grade){

            min = grade;

        }

    }

    System.out.println("Average is: " + (total / 100));

    System.out.println("Max is: " + max);

    System.out.println("Min is: " + min);

}


Don't want to miss updates? Please click the below button!

Follow MindStick