java求标准差

撸了今年阿里、头条和美团的面试,我有一个重要发现.......>>> hot3.png

package mymath;
import java.util.Random;
import java.util.List;
import java.util.ArrayList;

/** 
 * @author 苏宝伢 E-mail:[email protected] 
 * @version 创建时间: 2017年5月23日 下午4:48:47
 */
public class StandardDeviaction {
    public static void main(String[] args){
        System.out.println(standardDeviaction(setNum(2,50)));
    }

    //生成数
    public static List setNum(int lenght,int weight){     //lenght:表示生成几个元素,weight:表示生成每个数的最大值
        Random r = new Random(); //生成随机对象
        List list = new ArrayList<>();  //生成列表对象
        for(int i = 0;i < lenght;i++){      
            list.add(r.nextInt(weight));     //把所有生成的随机数,存入列表中
        }
        return list;
    }
    
    //计算和
    public static double calcSum(List list){
        double sum = 0;
        for(int i = 0;i             sum += list.get(i);
        }
        return sum;
    }
    
    //求平均值
    public static double mean(List list){
        return calcSum(list) / list.size();
    }
    
    //求标准差
    public static double standardDeviaction(List list){
        double sum = 0;
        double meanValue = mean(list);                //平均数
        for(int i = 0;i < list.size();i++){
            sum += Math.pow(list.get(i)-meanValue, 2);
        }
        return Math.sqrt(sum/list.size());
    }
}
 

你可能感兴趣的:(java求标准差)