如果我必须在循环内或循环外获取标准,则可以使用idk。还可以帮助我理解为什么在循环内或循环外执行标准的原因。我也知道在这种情况下的标准偏差公式将是第一个类似(input-average)^ 2的东西,然后是每个值的++,然后将所有这些相加并除以计数,然后求平方根。我只是不完全确定如何编写它以及放在哪里

import java.util.Scanner;

public class readFromKeyboard {

    public static void main(String[] args) {


        Scanner input = new Scanner(System.in);

        String inStr = input.next();
        int n;
        int count=0;
        int min = Integer.MAX_VALUE;
        int max = Integer.MIN_VALUE;
        double average=0;
        int sum;
        double deviation = 0;

        while (!inStr.equals("EOL")) {
          count++;
          n = Integer.parseInt(inStr);
          min = Math.min(min, n);
          max = Math.max(max, n);
          System.out.printf("%d ", n);
          inStr = input.next();
          average += n;
        }

        average = average/count;

        System.out.println("\n The average of these numbers is " + average);
        System.out.printf("The list has %d numbers\n", count);
        System.out.printf("The minimum of the list is %d\n", min);
        System.out.printf("The maximum of the list is %d\n", max);


        input.close();


    }
}

最佳答案

假设您已经计算了average,现在就可以为每个数字计算standard deviation


创建数组sd[]来存储standard deviation
对于每个数字,sd[i] = (average - input_i) ^ 2


计算variance


对于standard deviation中的每个sd[],添加到变量temp
temp除以输入总数


计算population standard deviation


平方根variance

08-15 15:40