Вычислить площадь большей окружности, меньшей окружности и кольца, образованного ими - C#
Формулировка задачи:
Помогите! Разработайте программу с использованием класса Ring (кольцо), в котором реализовано вычисление площади большей окружности, меньшей окружности и кольца, образованного ими. Класс должен содержать конструктор по умолчанию и конструктор инициализации.
В программе должно быть объявлено не менее 3-х объектов класса с вызовом для них соответствующих методов.
Решение задачи: «Вычислить площадь большей окружности, меньшей окружности и кольца, образованного ими»
textual
Листинг программы
public class Ring { public class RingException : Exception { public RingException() : base("Inner Radius should not exceed Outer one") { } public RingException(string message) : base(message) { } } private double innerRadius = 0; private double outerRadius = 0; public double InnerRadius { get { return innerRadius; } set { if (isValid(value, outerRadius)) innerRadius = value; else throw new RingException(); } } public double OuterRadius { get { return outerRadius; } set { if (isValid(innerRadius, value)) outerRadius = value; else throw new RingException(); } } public double InnerSquare { get { return Math.PI * innerRadius * innerRadius; } } public double OuterSquare { get { return Math.PI * outerRadius * outerRadius; } } public double Square { get { return OuterSquare - InnerSquare; } } protected virtual bool isValid(double inner, double outer) { return inner <= outer; } public void SetRadius(double inner, double outer) { if (isValid(inner, outer)) { this.innerRadius = inner; this.outerRadius = outer; } else throw new ArgumentException("Inner Radius should not exceed Outer one"); } public override string ToString() { return String.Format("Inner: {0}; Outer: {1}", this.innerRadius, this.outerRadius); } public Ring() { SetRadius(0, 0); } public Ring(double r) { SetRadius(0, r); } public Ring(double inner, double outer) { SetRadius(inner, outer); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д