因此,我正在尝试编写一个程序,您可以在其中输入您的成绩,将其总计,取平均值,然后降低最低成绩。到目前为止,这就是我所拥有的,但是,当我尝试运行该程序时,当我输入值100,100,75时,我会收到平均值92。

平均应该打印为100。代码有什么问题?

提前致谢!

import java.util.Scanner;

public class l3_drop_lowest_slide36 {

public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        double grade;
        int count;
        double minGrade;
        double sumGrade;
        double average;

        System.out.println("Begin entering grades below. When done, type -1.");
        System.out.println();

        count = 0;
        sumGrade = 0;
        grade = 0;
        minGrade = 100;

        while ( grade != -1 ) {

            sumGrade += grade;
            count++;
            System.out.print("Grade: ");
            grade = input.nextDouble();

        }

        if ( grade < minGrade ) {

            minGrade = grade;

        }

        if ( grade == -1 ) {
            sumGrade = sumGrade - minGrade;
            count = count - 1;
            average = (sumGrade / count);
            System.out.print("Your average is: " +average);
        }



    }


    }

最佳答案

您可以执行以下操作:

    while ( grade != -1 ) {

        sumGrade += grade;
        count++;
        System.out.print("Grade: ");

        grade = input.nextDouble();

        if(grade < minGrade && grade != -1)
            minGrade = grade;

    }

    sumGrade = sumGrade - minGrade;
    count = count - 1;
    average = (sumGrade / count);
    System.out.print("Your average is: " +average);


这样,您就放弃了最低成绩。

关于java - 如何在Java中替换值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30625586/

10-13 07:45
查看更多