BigDecimalを初めて使用する際の練習問題です。 私の主なメソッドの出力は次のようになります。半径の円のBigDecimalの出力に正確な10進値が含まれていませんか?
エリアは8.5949958is: 232.081671383290563028029402608911005665488497019210725540793500930304148269265220664195247142820189371870652494944664567810832522809505462646484375
半径3.440393959403938E7isの円の面積: 3718483500498323.66662697460176592346057689232315135847190735857072463126614392248114882022491656243801116943359375
しかし、それが何であるかではありません印刷するed。私は丸1用
232.081671383290555535978683110442943871021270751953125
の値、および円二人3718483500498323.563695
の値を取得します。 同僚は出力を正確にするためにすべての値にBigDecimalを使用する必要があると私に通知しましたが、私はすでにこれをやっているという印象を受けています。
import java.math.BigDecimal;
public class Circle
{
private BigDecimal radius = new BigDecimal("0.0");
public Circle()
{
setRadius(0.0);
}
public void setRadius(double r)
{
this.radius = new BigDecimal(r);
}
public BigDecimal findCircleArea(double radius)
{
this.setRadius(radius);
BigDecimal Pi = new BigDecimal("3.14159");
BigDecimal rad = new BigDecimal(Math.pow(radius, 2.0));
BigDecimal a = Pi.multiply(rad);
return a;
}
}
必要に応じてマージしますが、見回して回答を見つけることができなかったので、本当にイライラしています。
を。仕事の誤解でない限り、私は個人的にこれらの数字を受け取る方法を知らない。 – Andremoniy