Ich habe versucht, dies hier zu suchen und habe immer noch nicht die genaue Lösung, die ich suche. Die Mathematik kommt immer wieder falsch raus.Durchschnittliche Zahlen kommen incorrect
//Local Constants
int count = 0; //Used to track the number of grades entered by the user
//Local Variables
double currentGrade = 0; //User's current grade inputed
double numberGrades; //Total number of grades to be entered
double totalGrade = 0; //Total of all grades
double gradeAverage; //Average of all grades
//Main Function
//Ask the user for the amount of grades they would like to enter
System.out.print ("How many grades would you like to enter? ");
numberGrades = scan.nextInt();
//If the user asks to enter 0 numbers, output an error
while (numberGrades <= 0){
System.out.print ("Please enter a valid number! ");
numberGrades = scan.nextInt();
}
//Add the grades together as they are input by the user
while (count < numberGrades){
totalGrade += currentGrade;
System.out.print ("Please enter your next grade: ");
currentGrade = scan.nextInt();
count++;
}
//Calculate and output the average to the user
gradeAverage = (totalGrade/numberGrades);
System.out.print ("\n");
System.out.print ("The average of all grades is: " + gradeAverage);
}
}
Gedanke dieses Problem behoben wurde, aber wenn ich es betreibe ich bin immer noch das gleiche Problem bekommen. Das Beispiel, das ich versuchte, war, 3 Zahlen einzugeben, jedes war 50. Der Durchschnitt endete, 33.0 zu sein. Ich habe den Debugger ausgeführt und es gibt mir Fehler, wenn die erste Nummer eingegeben wird. count, totalGrade und currentGrade werden alle als Fehler angezeigt. Keine Ahnung wie man es reparieren kann.
Willkommen bei Stack-Überlauf! Es sieht so aus, als müssten Sie lernen, einen Debugger zu verwenden. Bitte helfen Sie sich selbst [https://ericlippert.com/2014/03/05/how-to-debug-small-programs/]. Wenn Sie danach noch Probleme haben, können Sie gerne weitere Einzelheiten erfahren. –
Debuggen Sie einfach Ihren Code, dann werden Sie vielleicht bemerken, warum sich Ihr Programm nicht wirklich um Ihre letzte Eingabe kümmert. – Tom
@JoeBurkhart zwei Dinge: 1) Sie verpassen eine der Noten (die letzte); 2) Sie verwenden Ganzzahldivision. –