gpt4 book ai didi

Java:简单的 BigDecimal 逻辑错误

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:48:49 26 4
gpt4 key购买 nike

我有一段简单的代码没有正常运行。

这段代码试图添加一个 BigDecimals 数组,然后除以 array.length 以求平均值。但是,该算法的第一阶段未能正确地将数组相加(在变量“sum”中)。

public BigDecimal getAverageHeight()
{
BigDecimal sum = new BigDecimal(0);
BigDecimal[] heights = getAllHeights();

for (int a = 0; a < heights.length; a++)
{
sum.add(heights[a]);
System.out.println("Height[" + a + "] = " + heights[a]);
System.out.println("Sum = " + sum.setScale(2, BigDecimal.ROUND_HALF_UP));
}

return sum.divide(new BigDecimal(heights.length));
}

输出如下:

Height[0] = 24  
Sum = 0.00
Height[1] = 24
Sum = 0.00
Height[2] = 24
Sum = 0.00
Height[3] = 26
Sum = 0.00
Height[4] = 26
Sum = 0.00
Height[5] = 26
Sum = 0.00

我确定这是一个简单的错误,但我已经厌倦了在这个问题上加注星标,在此先感谢。

最佳答案

BigDecial.add() 返回总和,它改变它。这样做:

sum = sum.add(heights[a]);

关于Java:简单的 BigDecimal 逻辑错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com