java如何计算中位数_Java冒泡算法及中位数算法

本文展示了如何使用Java实现冒泡排序算法,并通过排序后的数组计算中位数。首先,创建一个包含100个随机数的数组,然后进行乱序操作。接着,分别对乱序前后的数组进行冒泡排序,并输出排序结果及对应的中位数。
摘要由CSDN通过智能技术生成

importjava.math.BigDecimal;public classTest {public static voidmain(String[] args) {//控制随机数量

int c = 100;

Number[] array= newNumber[c];/*初始化*/

for(int i=0;i

Number random= round(Math.random()*100,2);

array[i]=random;

}

Number[] array_A=array;/**

* 乱序

* 若初始化的数组是循环的有序整形,才有打乱数组构成的必要

**/

for (int i = 0; i < array.length; i++) {

Number random= Math.round(Math.random()*(c-1));

Number temp=array[i];

array[i]=array[random.intValue()] ;

array[random.intValue()]=temp;

}

Number[] array_B=array;

System.out.println(out(array_A));

System.out.println(getMidNum(array_A));

System.out.println("**");

System.out.println(out(array_B));

System.out.println(getMidNum(array_B));

}//冒泡算法

public staticNumber[] sort(Number[] array){for(int i=0;i

for(int j=i+1; j

Number temp;//这里可以控制正序或逆序

if(array[i].doubleValue()

temp=array[i];

array[i]=array[j];

array[j]=temp;

}

}

}returnarray;

}//中位数算法

public static doublegetMidNum(Number[] array){

array=sort(array);//java.util.Arrays.sort(array);

int c =array.length;double ret = c%2==0?(array[(c/2)-1].doubleValue()+array[c/2].doubleValue())/2:array[c/2].doubleValue();returnret;

}//输出(数组之和&数组内成员)

public staticString out(Number[] array){

String ret= "";double sum = 0;for (int i = 0; i < array.length; i++) {

ret+=array[i];if(i!=99){

ret+=",";

}

sum+=array[i].floatValue();

sum= round(sum,2);

}return sum+":"+ret;

}//四舍五入,位数

public static double round(double number,intdigits){

BigDecimal b= newBigDecimal(number);returnb.setScale(digits,BigDecimal.ROUND_HALF_UP).doubleValue();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值