サークルの正確な面積を見つけるにはradius*radius*pi
を掛ける必要がありますが、書き留めたコードは機能しません。それはJava Doubleを間接参照できない
ERROR
----jGRASP exec: javac -g Circle.java
Circle.java:7: error: double cannot be dereferenced
BigDecimal area = radius.multiply(pi);
^
1 error
CODEプリミティブ型では動作しません間接参照
import java.math.*;
public class Circle {
public BigDecimal findArea(double radius){
double pi = 3.14159;
radius = radius * radius;
BigDecimal bd = new BigDecimal("1");
BigDecimal area = pi.multiply(radius);
return area;
}
}
本当にそのコードのエラーですか?なぜ、radius.multiply(pi) 'と言うのでしょうか?もう一方は' pi.multiply(radius) 'と言うのでしょうか? –
ただし、 'pi * radius'(または' radius * pi')を使用してください。どちらの場合でも、それらは基本的な 'double'であり、' BigDecimal'ではありません。 –
また、 'Math.PI'を使用する代わりに' double pi'を定義するのはなぜですか?そしてなぜ 'BigDecimal.ONE'を使うのではなく、新しいBigDecimal(" 1 ")'? –