Давайте начнем с класса Circle. Это ваш оригинальный код:
public class Circle
private int radius = getRadius();
private double area = getArea();
public Circle(int r)
{
r = radius;
}
public int getRadius()
{
return radius;
}
public double getArea(int r)
{
return area = Math.PI * r * r;
}
}
Для ваших переменных вам не нужна «площадь», так как она рассчитывается. Кроме того, вы не должны назначать радиус чему-либо, кроме как в конструкторе:
private int radius;
//private double area = getArea(); <-- don't need this variable at all
Вы передаете "r" конструктору, но затем неправильно пытаетесь присвоить ему значение "radius". Это задом наперед; вместо этого вы должны присвоить значение «r» «радиусу»:
public Circle(int r)
{
radius = r;
}
Наконец, в getArea()
вам не нужен переданный радиус или «область»; просто верните вычисленное значение (используя сохраненное значение в радиусе, а не в r):
public double getArea()
{
return Math.PI * radius * radius;
}
Соберите все вместе, ваш класс Circle должен выглядеть примерно так:
public class Circle
private int radius;
public Circle(int r)
{
radius = r;
}
public int getRadius()
{
return radius;
}
public double getArea()
{
return Math.PI * radius * radius;
}
}
В CircleTest вы должны сначала получить радиус от пользователя, а затем передать его конструктору Circle. Наконец, с вашим экземпляром Circle, вызовите его методы getRadius () и getArea ().