如何设置程序以查找最高成绩?

时间:2017-11-14 08:26:40

标签: java

问题是“编写一个名为findMaxGrade的方法。该方法将一个int数组作为参数,它将返回数组中的最大值(即代表最大等级)。”

我无法解决这个问题。以前我必须让用户输入多个等级,找到它的平均值,并给出相应的等级字母。 我该如何设置程序以便读取输入并知道哪个是最高的?这是它应该正常工作的方式吗?

import java.util.Scanner;
public class ArrayExample3{
    public static void main(String [] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Please enter the total number of grades");
        int n = input.nextInt();
        double [] array = new double [n];
        double total = 0.0;

        for(int i = 0; i < array.length; i++){
            System.out.println("Please enter the grade #"+(i+1));
            double g = input.nextDouble();
            array[i] = g;
            total += array[i];
        }
        double avg = total / array.length;

        System.out.println("AVG: "+avg);

        System.out.println(getGradeByAVG(avg));

    }
    public static String getGradeByAVG(double avg){

        String letterGrade = "";
        if( avg >= 90 && avg <= 100 ) {
            letterGrade = "A";
        }
        else if( avg >= 80 && avg <= 89 ) {
            letterGrade = "B";
        } 
        else if( avg >= 70 && avg <= 79 ) {
            letterGrade = "C";
        } 
        else if( avg >= 60 && avg <= 69 ) {
            letterGrade = "D";
        } 
        else if( avg < 60 ) {
            letterGrade = "F";
        } 
        return letterGrade;
    }
}

1 个答案:

答案 0 :(得分:0)

这种方法可以解决问题:

public int findMaxGrade(int [] array, n)
        {
            int max = -1;
            for(int i = 0; i < n, i++)
                if(max<array[i])
                    max = array[i];

            return max;

        }

您可以通过以下方式致电:findMaxGrade(array, n);