如果我必须在循环内或循环外获取标准,则可以使用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