필자는 동작하지 않는 간단한 코드를 가지고 있습니다.자바 : 간단한 BigDecimal 논리적 오류
이 코드는 BigDecimal 배열을 추가하여 array.length로 나누어 평균을 찾습니다. 그러나 알고리즘의 첫 번째 단계에서는 배열을 올바르게 추가하지 못합니다 (변수 "sum").
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
나는 그것의 간단한 오류 확신 해요,하지만 난 사전에 감사를 문제 주연의 피곤 해요 : 다음과 같이
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));
}
출력이다.
나중에 참조 할 수 있도록 Javadoc을 읽으면 문제가 해결됩니다. –