我写了一个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();
}
}
}
答案 0 :(得分:4)
您的代码运行正常。您总是得到 区域为0 的原因可能是您缺少以下任何一个调用。请注意,如果您错过setCircleInfo
或calculateArea
,结果会得到零。
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();
}