成都网站建设设计

将想法与焦点和您一起共享

java如何计算中位数-创新互联

这篇文章将为大家详细讲解有关java如何计算中位数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联主要从事成都网站制作、成都网站设计、外贸营销网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务东山,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个

先说说什么是中位数:

中位数就是中间的那个数,

如果一个集合是奇数个,那么中位数就是按大小排列后,最中间那个数,

如果一个集合是偶数个,那么中位数就是按大小排列后,最中间那2个数的平均数。

比如:

1,2,3,4,5 那中位数就是3

1,2,3,4,5,6 那中位数就是 (3+4)/2 = 3.5

知道逻辑后方法就很简单了 下面是代码

public static void main(String[] args) {
 List total = new ArrayList();
 total.add(4);
 total.add(2);
 total.add(3);
 total.add(1);
 total.add(5);
 total.add(6);
 double a = median(total);
 System.out.println(a);
}
private static double median(List total) {
 double j = 0;
 //集合排序
  Collections.sort(total);
  int size = total.size();
  if(size % 2 == 1){
   j = total.get((size-1)/2);
  }else {
   //加0.0是为了把int转成double类型,否则除以2会算错
   j = (total.get(size/2-1) + total.get(size/2) + 0.0)/2;
  }
 return j;
}

标题名称:java如何计算中位数-创新互联
标题网址:http://chengdu.cdxwcx.cn/article/pddph.html