Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why am I getting a value of zero for my circle?

Tags:

c#

geometry

area

Here is my Circle class code.

class Circle
{
    private double radius;
    private double area;

    public Circle(double radius)
    {
        this.radius = radius;
    }

    public double Area
    {
        set { area = Math.PI * Math.Pow(radius, 2); }
        get { return area; }

    }
}

This is test code.

    Circle circle1 = new Circle(3);

    MessageBox.Show("Circle 1 Area: " + circle1.Area);

So for some reason, when I use the MessageBox.Show(), it seems to give me values of zero instead. I gave the circle a value of 3 so shouldn't my constructor set the value of the radius that?

like image 908
puretppc Avatar asked Dec 29 '25 16:12

puretppc


1 Answers

Because you haven't ever called the setter on Area. Perhaps you want something like this instead?

class Circle
{
    private double radius;

    public Circle(double radius)
    {
        this.radius = radius;
    }

    public double Area
    {
        get { return Math.PI * Math.Pow(radius, 2); }    
    }
}

This will compute the Area every time it is requested.

like image 81
Cirdec Avatar answered Dec 31 '25 05:12

Cirdec