我正在尝试使用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();”有错误,我不知道为什么。对此仍然很新,所以任何帮助都表示赞赏。谢谢!
答案 0 :(得分:0)
在带参数的构造函数中,您忘记包含定义Circle的代码。现在,即使您传递了信息,也可以使用未定义的变量创建一个圆。如何解决:
public Circle (String color, int radius) {
this.setRadius(radius);
this.setColor(color);
}
我相信您认为构造函数中的参数取代了您创建的方法,但您创建并定义了与方法同名的局部变量。
希望这有帮助!评论任何让你困惑的事情。