【发布时间】:2014-04-04 21:57:56
【问题描述】:
我正在为一个学校项目编写一些代码,我们将有一个定义一个圆的类和一个从中绘制的方法,我的代码到目前为止返回“命名空间'console'已经包含'的定义Circle'这里是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace console
{
class Program
{
static void Main(string[] args)
{
Console.Write("What is the circle’s radius: ");
double radius = Convert.ToDouble(Console.ReadLine());
Circle ans = new Circle(radius);
Console.WriteLine("The area of the circle is " + ans.getArea);
Console.WriteLine("The Diameter of the circle is " + ans.getDiameter);
Console.WriteLine("The Circumference of the circle is " + ans.getCircumference);
Console.Write("Enter any character to quit program. ");
double stop = Console.Read();
}
}
}
这就是方法和类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace console
{
class Circle
{
public double radius;
public const double PI = 3.14159;
public Circle(double r)
{
radius = r;
}
public Circle()
{
radius = 0.0;
}
public double getDiameter
{
get
{
return radius * 2;
}
}
public double getArea
{
get
{
return PI * radius * radius;
}
}
public double getCircumference
{
get
{
return 2 * PI * radius;
}
}
// property Radius
public double Radius
{
get
{
return radius;
}
set
{
// ensure non-negative radius value
if (value >= 0)
radius = value;
}
}
}
}
最后一个问题,现在我有了工作代码,set 和 get 应该不允许负输入。但是,当它运行时,负输入仍然返回结果,我错过了什么导致负值仍然被计算?
【问题讨论】:
-
也许你有两个同名的类
Circle? -
在同一个命名空间中有两个名为 Circle 的类。打电话给测试人员 CircleTester 什么的..
-
你为什么把这两个类都命名为
Circle?用Main方法Program什么的调用那个,问题就没有了。
标签: c# class methods system geometry