注意:

计算比例时,每个数据除以数据之和,很有可能除不尽,导致最终比例之和不等于1,所以将最后一个数据的比例设定为 1-前面数据比例之和;

本次比例保留两位小数,并以小数展示,如果想展示样式为40.50%,请自行×100后再进行保留两位小数。

/*** 计算数组中数字的比例** @param arr* @return*/public static List<Double> getDoubleRatio(double[] arr) {List<Double> ratioList = new ArrayList<>();NumberFormat instance = NumberFormat.getInstance();// 保留小数点后两位(四舍五入),instance.setMaximumFractionDigits(2);double sum = 0;// 求和for (int i = 0; i < arr.length; i++) {sum += arr[i];}// 计算各自所占百分比double ratioSum = 0;for (int i = 0; i < arr.length; i++) {if (arr.length > 1 && i == arr.length - 1) {String ratioStr = instance.format(1 - ratioSum);double retio = Double.parseDouble(ratioStr);ratioList.add(retio);} else {String ratioStr = instance.format(arr[i] / sum);double retio = Double.parseDouble(ratioStr);ratioSum = ratioSum + retio;ratioList.add(retio);}}return ratioList;}public static void main(String[] args) {double[] arr = {4300,280,105,79,10000,5009};List<Double> doubleRatio = getDoubleRatio(arr);System.out.println(doubleRatio);double[] arr1 = {4300,1};List<Double> doubleRatio1 = getDoubleRatio(arr1);System.out.println(doubleRatio1);double[] arr2 = {4300};List<Double> doubleRatio2 = getDoubleRatio(arr2);System.out.println(doubleRatio2);}

计算结果:

java 求一组数据的各自所占百分比相关推荐

  1. C语言:定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(要求使用指针做)

    [问题描述]定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值.(要求使用指针做) ...

  2. matlab截取左上四分之一,Excel求一组数据的四分之一分位数

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:Excel求一组数据的四分之一分位数 问题详情:求一组正态分布数据的四分之一分位数的函数?请举例.等回答:QUARTILE 函数语法 ...

  3. 用java求一组数的平均值

    用java求一组数的平均值 使用java中的数组和for循环 public class pingjun { public static void main(String[] args) {int su ...

  4. Python求一组数据的均值,方差,标准差

    Python求一组数据的均值,方差,标准差 代码如下: def get_mean_var_std(arr):import numpy as np#求均值arr_mean = np.mean(arr)# ...

  5. 分治法 第2关:求一组数据的和

    任务描述 本关任务:利用分治法求一组数据的和. 编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务,注意需要学生自己获取输入数据再进行操作. 测试说明 平台会对你编写的代码进行测试,比 ...

  6. 分治法 第1关:求一组数据中最大的两个数

    任务描述 本关任务:利用分治法求一组数据中最大的两个数和最小的两个数. 编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务. 测试说明 平台会对你编写的代码进行测试,比对你输出的数值与 ...

  7. Python学习笔记:求一组数据的众数

    一.众数概念 众数(Mode)是统计学名词,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个). 修正定义:是一组数据中出现次数最多的数值,叫众数,有时众数在一组数中 ...

  8. Java 求一组数组中的平均数

    求一组数组中的平均数 题目 输入10个整数,输出这10个整数的的平均数,要求输出的平均数保留2位小数 输入样例 1 2 3 4 5 6 7 8 9 10 输出样例 5.50 import java.u ...

  9. 用matlab求一组数据的分布函数,求任意一组数据的概率密度函数

    我们在统计数据处理时,经常计算一个样本的概率密度估计,也就是说给出一组统计数据,要求你绘制出它的概率分布曲线,matlab的统计工具箱中有直接的函数  就是:Ksdensity核心平滑密度估计 [f, ...

最新文章

  1. “2018中国AI英雄风云榜”年度人物榜:“AI天才”何恺明
  2. 导入表注入原理和C语言实现
  3. 3.type关键字.rs
  4. 杀入共享汽车市场的PonyCar,是下一个牺牲者还是引领者?
  5. 【转】关于DCMTK中像素存储以及getoutdata()函数的使用
  6. 判断该网页是在什么设备打开。
  7. 程序员渴望的“无代码世界”要来了!
  8. Struts 常用标签的使用
  9. vmware挂载共享目录
  10. 软考笔记(数据结构篇)———— 二叉树、树、森林转换
  11. SQL语句中的主键和外键
  12. Unity BMFont自定义字体
  13. 云课堂智慧职教网页版登录入口_云课堂智慧职教网页版
  14. Ubuntu 10.04 使用libfetion
  15. linux磁盘空间满如何清理,linux磁盘空间不足怎么办,磁盘清理方法
  16. 华三交换机配置access命令_华三交换机查看配置命令是什么
  17. 赞美是朵花,赠人玫瑰,手有余香
  18. RA关节功能残疾与软骨破坏的相关性高于骨破坏
  19. 【华为思科】访问web服务器
  20. Maximal Information Coefficient (MIC)最大互信息系数详解与实现

热门文章

  1. 小型教育网站的开发与建设-总体设计(三)
  2. 什么是“反射”和“内省”?
  3. 丅rust是什么意思_中文版《Rust标准库》来了
  4. ubuntu apt-get 安装amd显卡驱动
  5. GCT备考之考前辅导篇
  6. 安装gensim失败,各种方法未果,最后注意到 error: Microsoft Visual C++ 14.0 or greater is required,终于解决
  7. gradle-6.1.1-all 快速下载
  8. 2021年改版之后的微信小程序获取头像及返回
  9. 【读书笔记】锋利的 jQuery
  10. 非线性方程求根方法总结附代码(从二分法、试位法到牛顿迭代、二次插值等)