java 加权平均_java - 计算大数的加权平均值 - 堆栈内存溢出

我想要得到几个数字的加权平均值。 基本上我有:

Price - 134.42

Quantity - 15236545

可以有少至一两个或多达五十或六十对价格和数量。 我需要弄清楚价格的加权平均值。 基本上,加权平均值应该给对象提供非常小的权重

Price - 100000000.00

Quantity - 3

以及更多对上面的那对。

我现在的公式是:

((price)(quantity) + (price)(quantity) + ...)/totalQuantity

到目前为止,我做到了这一点:

double optimalPrice = 0;

int totalQuantity = 0;

double rolling = 0;

System.out.println(rolling);

Iterator it = orders.entrySet().iterator();

while(it.hasNext()) {

System.out.println("inside");

Map.Entry order = (Map.Entry)it.next();

double price = (Double)order.getKey();

int quantity = (Integer)order.getValue();

System.out.println(price + " " + quantity);

rolling += price * quantity;

totalQuantity += quantity;

System.out.println(rolling);

}

System.out.println(rolling);

return rolling/totalQuantity;

问题是我很快就将“滚动”变量最大化了。

我怎样才能真正得到加权平均值?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值