我是否正确使用了 BigDecimal 类?我真的可以使用某人仔细检查我的代码,以确保我没有犯新手错误



我已经为此工作了几天了。在得到荒谬的双重错误之后,使用BigDecimal似乎是可行的方法。代码如下:http://pastebin.com/rpbNJnHH

我以前从来没有使用过BigDecimal,所以我希望这里有人可以检查一下,确保没有任何愚蠢的错误。我已经把我能确定的都检查过了。

编辑:对不起,这是模糊的。所以,我使用的是double基本类型,当然,我要做的是for(double I = 0;我& lt;1;I += 0.05)将给出I的不精确值(您将得到像。0499999999或。24999999999999这样的值)。所以我换成了BigDecimal。然而,我以前从未使用过BD,所以我希望有人可以查看我的代码,并确保我正确使用它(即我没有在某个地方失去精度)。由于

我不确定这段代码是如何编译的。

for (MyPoint point : prevU.keySet()) {
        BigDecimal x = point.getX();
        BigDecimal t = point.getT();
}
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.BLUE);
g2.fillOval(x, t, 1, 1);

x和t必须是int值并且在作用域中。

我建议您从编译和正确运行的非常简单的东西开始,然后慢慢添加。如果你试图一次改变太多,你可能会以压倒性的混乱结束。

比起使用double或BigDecimal,我会使用int值,因为这是你在一天结束时需要的类型,除非你的屏幕上下超过20亿像素,否则你不需要long, double或BigDecimal。

最新更新