在商务应用程序中经常需要计算数据的平均值和标准方差。平均值就是数字的简单平均。标准方差则是一个统计数字,给出了在一个数字集中各种数据距离平均值的聚集紧密度。例如,一个班级的学生的平均年龄是多少?年龄相差近吗?如果所有的学生都是同龄的,那么方差为0。
编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值及标准方差。
package pack2;
import java.util.Scanner;
public class BitOperation {
public static void main(String[] args) {
try(Scanner input = new Scanner(System.in);) {
System.out.print("Enter ten numbers: ");
double[] numbers = new double[10];
for (int i = 0; i < numbers.length; i++)
numbers[i] = input.nextDouble();
System.out.println("The mean is "+getMean(numbers)+
"\nThe stand deviation is "+getStandDeviation(numbers));
}
}
//平均值
public static double getMean(double...numbers) {
return getSum(numbers) / numbers.length;
}
//方差
public static double getStandDeviation(double...numbers) {
double sum = 0.0;
for (double i : numbers) {
sum += i * i;
}
sum -= Math.pow(getSum(numbers), 2) / numbers.length;
return Math.sqrt(sum / (numbers.length - 1));
}
//前n项和
public static double getSum(double...numbers) {
double sum = 0.0;
for (double i : numbers) {
sum += i;
}
return sum;
}
}