使用Mutators和访问器设置Java中的圆的颜色和半径

问题描述:

我正在尝试编写一个程序,该程序使用字符串颜色和int半径使用set和gets来指定圆的颜色和区域。作为示例,使用绿色& 10。这是我到目前为止有:使用Mutators和访问器设置Java中的圆的颜色和半径


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();”有一个错误,我不知道为什么。对此还是很新的,所以任何帮助表示赞赏。谢谢!

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

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

我相信你想在构造函数中的参数占了你创建的方法的地方,但你创建和定义具有相同名称的替代方法的局部变量。

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