有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

bluej在Java中使用变异器和访问器设置颜色和圆半径

我正试图编写一个程序,使用字符串颜色和int-radius使用set和get来表示圆的颜色和面积。使用绿色&;以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) 个答案

  1. # 1 楼答案

    在接受参数的构造函数中,您忘记包含定义圆的代码。现在,您创建了一个带有未定义变量的圆,即使您传递了它的信息。如何修复:

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

    我相信你认为构造函数中的参数取代了你创建的方法,但是你正在创建和定义与方法同名的局部变量

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