Java进行数据统计分析

时间:2025-04-08 21:23:20
  • //1.求和
  • public static double getSum(double[] arr){
  • double sum = 0;
  • for(int i =0;i < ;i++){
  • sum += arr[i];
  • }
  • return sum;
  • }
  • //2.求平均数
  • public static double getMean(double[] arr){
  • return getSum(arr) / ;
  • }
  • //3.求众数
  • public static double getMuch(double[] arr){
  • /*方法一
  • //构造对应关系的映射
  • Map<Double,Integer> map = new HashMap<Double,Integer>();
  • for(int i = 0;i < ;i++){
  • if((arr[i])){
  • //containsKey(Object key)如果此映射包含指定键的映射关系,则返回 true。
  • //get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。
  • //put(K key, V value)将指定的值与此映射中的指定键关联(可选操作)。
  • (arr[i], (arr[i])+1);
  • }else{
  • (arr[i], 1);
  • }
  • }
  • int maxCount = 0;//初始化出现次数
  • double much = -1;//初始化众数
  • //迭代器
  • Iterator<Double> iter = ().iterator();
  • while(()){
  • //next()返回迭代的下一个元素
  • double num = ();
  • int count = (num);
  • if(count > maxCount){
  • maxCount = count;
  • much = num;
  • }
  • }
  • return much;
  • */
  • //方法二
  • if( == 1){
  • return arr[0];
  • }
  • int count = 0;
  • int max = 0;
  • double much = 0;
  • (arr);
  • for(int i = 0;i < - 1;i ++){
  • if(arr[i] == arr[i+1]){
  • count ++ ;
  • }else{
  • count = 0;
  • }
  • if(count > max){
  • max = count;
  • much = arr[i];
  • }
  • }
  • return much;
  • }
  • //4.求中位数
  • public static double getMedian(double[] arr){
  • if( % 2 == 0){
  • //如果原数组是偶数个,中位数是中间两个的平均数
  • return ((arr[/2]+arr[/2-1])/2);
  • }else{
  • //如果原数组是奇数个,中位数是中间的数
  • return arr[/2];
  • }
  • }
  • //5.求极差
  • public static double getRange(double[] arr){
  • double max = arr[0],min = arr[0];
  • for(int i = 0;i<;i++){
  • if(arr[i]>max){
  • max = arr[i];
  • }
  • if(arr[i]<min){
  • min = arr[i];
  • }
  • }
  • return max-min;
  • }
  • //6.求方差
  • public static double getVariance(double[] arr){
  • double variance = 0 ;
  • double mean = getMean(arr);
  • double sum = 0;
  • for(int i=0;i<;i++){
  • sum += (arr[i]-mean)*(arr[i]-mean);
  • }
  • variance = sum/;
  • return variance;
  • }
  • //7.求标准差
  • public static double getStandardDevition(double[] arr){
  • return (getVariance(arr));
  • }