因此,我正在尝试编写一个程序,您可以在其中输入您的成绩,将其总计,取平均值,然后降低最低成绩。到目前为止,这就是我所拥有的,但是,当我尝试运行该程序时,当我输入值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/