Помогите найти ошибку в классе Circle - C#
Формулировка задачи:
Задание: Описать класс “Окружность”, методами которого представить перегрузку конструкторов. В основной программе продемонстрируйте работу с перегруженными конструкторами.
Вопрос 1. Ответ выводится на экран только если Run в конструкторе, как его переписать, чтобы убрать из конструктора.
Вопрос 2. Как в ToString выводить округленное значение типа {0:0.00}
namespace klass_circle
{
public class Circle
{
public double a, b, r;
public double Сircumference;
public double Area;
public Circle(double a, double b, double r)
{
this.a = a;
this.b = b;
this.r = r;
Run();
}
public Circle(double r)
{
this.a = 0;
this.b = 0;
this.r = r;
Run();
}
public void Run()
{
Сircumference = 2 * r * Math.PI;
Area = Math.PI * r * r;
}
public override string ToString()
{
if ((a == 0) && (b == 0)) { return "Уравнение x^2 + y^2 = " + r * r + "; L = " + Сircumference + "; S = " + Area; }
{ return "Уравнение (x - " + a + ")^2 + (y - " + b + ")^2 = " + r * r + "; L = " + Сircumference + "; S = " + Area; }
}
}
class Program
{
static void Main(string[] args)
{
Circle n = new Circle(2, 4, 3);
Console.WriteLine(n.ToString());
Circle l = new Circle(2);
Console.WriteLine(l.ToString());
Console.ReadLine();
}
}
}Решение задачи: «Помогите найти ошибку в классе Circle»
textual
Листинг программы
public class Circle
{
double a, b, r;
public Circle(double a, double b, double r)
: this(r)
{
this.a = a;
this.b = b;
}
public Circle(double r)
{
this.r = r;
}
public double Сircumference
{
get { return 2 * r * Math.PI; }
}
public double Area
{
get { return Math.PI * r * r; }
}
public double GetСircumference()
{
return 2 * r * Math.PI;
}
public double GetArea()
{
return Math.PI * r * r;
}
public override string ToString()
{
if ((a == 0) && (b == 0)) { return "Уравнение x^2 + y^2 = " + r * r + "; L = " + Сircumference + "; S = " + Area; }
{ return "Уравнение (x - " + a + ")^2 + (y - " + b + ")^2 = " + r * r + "; L = " + Сircumference + "; S = " + Area; }
}
}