我的C#程序始终将区域打印为0

时间:2017-06-29 15:12:47

标签: c# .net visual-studio

我写了一个C#程序来打印该区域,但是当我运行该程序时,它总是打印“区域为0”。知道什么似乎是问题吗?

    class Circle
{
    double radius;
  //  int color;
    double area;

    public void setCircleInfo()

    {
        radius = 15;
        //color = 225;
    }

    public void calculateArea()
    {
        area = 3.142 * radius * radius;
    }

    public double getRadius()
    {
        return radius;
    }

    public void displayArea()
    {
        Console.WriteLine("The area is " + area.ToString());
        Console.ReadLine();
    }
}
}

以下是主要方法的代码:

{
class Program
{
    static void Main(string[] args)
    {
        Circle obj1 = new Circle();
        obj1.displayArea();

    }
}
}

4 个答案:

答案 0 :(得分:4)

您的代码运行正常。您总是得到 区域为0 的原因可能是您缺少以下任何一个调用。请注意,如果您错过setCircleInfocalculateArea,结果会得到零。

Circle c = new Circle();
c.setCircleInfo();
c.calculateArea();
c.displayArea();

希望这会有所帮助: - )

答案 1 :(得分:2)

我会稍微调整一下对象以便于使用:

class Circle
{
    public double Radius
    {
        get;
        set;
    }

    public double Area
    {
        get
        {
            return 3.142 * radius * radius;
        }
    }

    public Circle(double radius)
    {
        Radius = radius;
    }

    public void displayArea()
    {
        Console.WriteLine("The area is " + Area.ToString());
        Console.ReadLine();
    }
}

然后您可以像这样使用它:

static void Main(string[] args)
{
    Circle obj1 = new Circle(15);
    obj1.displayArea();
}

答案 2 :(得分:0)

更改您的代码

static void Main(string[] args)
    {
        Circle obj1 = new Circle();
        obj1.setCircleInfo();
        obj1.calculateArea();
        obj1.displayArea();

    }

答案 3 :(得分:-2)

添加Circle构造函数方法:

public Circle(double radius){
this.radius=radius;
c.setCircleInfo();
c.calculateArea();
c.displayArea();
}