使用Mutators和Accessors在Java中设置圆的颜色和半径

时间:2017-10-17 22:10:24

标签: java bluej accessor mutators

我正在尝试使用sets和gets编写一个程序,该程序使用String color和int radius来声明圆的颜色和面积。使用绿色&以10为例。这是我到目前为止所做的:

public class Circle
{
    private String color;
    private int radius;

    public Circle () {
       color = "null";
       radius = 0;
    }

    public Circle (String setColor, int setRadius) {

    }

    public void setRadius (int radius) {
       this.radius = radius;
    }

    public void setColor(String color) {
       this.color = color;
    }

    public int getRadius(){
       return radius;
    }
    public String getColor(){
       return color;
    }

    public void printInfo(String setColor, int setRadius) {
       double area = Math.PI * this.radius * this.radius;
       System.out.printf("The " + "%s" + " circle has area " + "%.2f", 
       this.radius, area);
    }

}
public class Main
{
    public static void main(String [] args)
    {

        Circle circle = new Circle("green", 10);

        circle.printInfo();
    }
}

“circle.printInfo();”有错误,我不知道为什么。对此仍然很新,所以任何帮助都表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

在带参数的构造函数中,您忘记包含定义Circle的代码。现在,即使您传递了信息,也可以使用未定义的变量创建一个圆。如何解决:

public Circle (String color, int radius) {
   this.setRadius(radius);
   this.setColor(color);
}

我相信您认为构造函数中的参数取代了您创建的方法,但您创建并定义了与方法同名的局部变量。

希望这有帮助!评论任何让你困惑的事情。