bigdecimal 平均数_请问JAVA求和,平均数,最大数,最小数,标准差的相关代码该如何写?...

蜂之谷

public static void main(String[] args) {

//double[] is = { 1.23, 2.05, 4.0, 0.01, 0.12 };

double[] in = new double[10];//最多10个,那就定义长度为10的数组就行了

Scanner input = new Scanner(System.in);

int count = 0;//记录输入的个数

for (int i = 0; i 

double result = input.nextDouble();

if(result 

break;

}

in[i] = result;//将输入结果保存到数组

count++;

}

double[] is = new double[count];//由于不好取得输入数据的长度,重新定义一个数组

for (int i = 0; i 

is[i] = in[i];

}

double max = is[0];

double min = is[0];

double sum = 0;

double ave = 0.0;

double StanDev = 0.0;

for (int i = 0; i 

if (is[i] > max) {

max = is[i];

}

if (is[i] 

min = is[i];

}

sum += is[i];

}

sum = getDouble(sum);

ave = sum / is.length;

ave = getDouble(ave);

//double square = 0;

//for (int i = 0; i 

//square += is[i] * is[i];

//}

//StanDev = Math.sqrt((square - sum*sum/is.length)/(is.length-1));

//StanDev = getDouble(StanDev);

double squareSum = 0;

for (int i = 0; i 

squareSum += ((is[i]-ave) * (is[i]-ave));

}

StanDev = Math.sqrt(squareSum/(is.length-1));

StanDev = getDouble(StanDev);

System.out.println("总数:" + sum);

System.out.println("最小数:" + min);

System.out.println("最大数:" + max);

System.out.println("平均数:" + ave);

System.out.println("标准差:" + StanDev);

}

//四舍五入保留2为小数

private static double getDouble(double d) {

BigDecimal b = new BigDecimal(d);

return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

}不知道这样写明白么,暂时没想到还有什么好的办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值