Мне нужно умножить radius*radius*pi
, чтобы найти точную область круга, но код, который я записал, не работает. Это продолжает давать двойную не может быть разыменованной ошибку ...Java Double не может быть разыменован
ОШИБКИ
----jGRASP exec: javac -g Circle.java
Circle.java:7: error: double cannot be dereferenced
BigDecimal area = radius.multiply(pi);
^
1 error
КОДА
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'. –
Также: зачем определять 'double pi' вместо использования' Math.PI'? И почему «новый BigDecimal (« 1 »)» вместо «BigDecimal.ONE»? –