Мне нужно создать программу, которая запрашивает у пользователя оценки от 0 до 100. Когда они вводят -1, это означает, что они закончили ввод оценок. Мне нужно поставить счетчик, среднее значение и стандартное отклонение, но по какой-то причине выход для стандартного отклонения действительно отключен. Например, при вводе 50 дважды мое стандартное отклонение составляет 494,97.
import java.util.Scanner;
public class Grade {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a grade between 0-100?");
int grade = scanner.nextInt();
int[] grades = new int[100];
double sum = 0;
int i = 0;
while (grade != -1) {
grades[i] = grade;
i++;
sum += grade;
System.out.println("Enter a grade between 0 100?");
grade = scanner.nextInt();
}
double sumOfDifference = 0;
double average = sum / i;
for (int k = 0; k < grades.length; k++) {
double difference = (grades[k] - average) * (grades[k] - average);
sumOfDifference += difference;
}
double s = Math.sqrt(sumOfDifference / (i - 1));
System.out.printf("Count: %4d\n", i);
System.out.printf("Average: %.2f\n", average);
System.out.printf("Standard Deviation: %.2f\n", s);
}
}