在商务应用程序中经常需要计算数据的平均值和标准方差。平均值就是数字的简单平均。标准方差则是一个统计数字,给出了在一个数字集中各种数据距离平均值的聚集紧密度。例如,一个班级的学生的平均年龄是多少?年龄相差近吗?如果所有的学生都是同龄的,那么方差为0。

        编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值及标准方差。

java 标准差 java求均值和方差_后端

java 标准差 java求均值和方差_java 标准差_02


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;
	}
}

java 标准差 java求均值和方差_方差_03