Как решить данную задачу корректно? Решил задачу. Всё работает. Но преподаватель указал некоторые ошибки. Вот условие задачи: Задание 1. Написать класс Round, задающий круг с указанными координатами центра, радиусом, а также свойствами, позволяющими узнать длину описанной окружности и площадь круга. Обеспечить нахождение объекта в заведомо корректном состоянии. Написать программу, демонстрирующую использование данного круга. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { var circle = new Circle(); circle.Radius = 10; Console.WriteLine("Координаты x = {0} , y = {1} " , circle.X , circle.Y); Console.WriteLine("Площадь круга = {0}" , circle.GetArea); Console.WriteLine("Длина = {0}" , circle.Length); } public class Circle { private double x, y , r; public double Radius { get { return r; } set { x = y = 0; if (value <= 0) { throw new ArgumentException (" Wrong! ") ;} r = value; } } public double GetArea { get { return Math.PI * r * r; } } public double Length { get { return 2 * Math.PI * r; } } public double X { get { return x; } } public double Y { get { return y; } } } } }
Также, следует обратить внимание на то, что переменные x, y и r должны быть инициализированы значениями по умолчанию в конструкторе или явно присвоены значения в свойствах Radius, X и Y.
После внесения указанных изменений код будет работать корректно и будет удовлетворять требованиям задачи.
Ошибка в коде заключается в том, что в классе Round не задан конструктор, который бы инициализировал координаты центра круга при создании объекта.
Для исправления этой ошибки необходимо добавить конструктор в класс Circle:
public Circle(double x, double y){
this.x = x;
this.y = y;
this.r = 0;
}
И изменить создание объекта в методе Main:
var circle = new Circle(0, 0);Также, следует обратить внимание на то, что переменные x, y и r должны быть инициализированы значениями по умолчанию в конструкторе или явно присвоены значения в свойствах Radius, X и Y.
После внесения указанных изменений код будет работать корректно и будет удовлетворять требованиям задачи.