Описать класс, реализующий шестнадцатеричный счетчик - C# (185457)
Формулировка задачи:
Описать класс, реализующий шестнадцатеричный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. Предусмотреть инициализацию счетчика значениями по умолчанию и произвольными значениями. Счетчик имеет два метода: увеличения и уменьшения, - и свойство, позволяющее получить его текущее состояние. При выходе за границы диапазона выбрасываются исключения. Написать программу, демонстрирующую все разработанные элементы классов.
Решение задачи: «Описать класс, реализующий шестнадцатеричный счетчик»
textual
Листинг программы
class Counter
{
private readonly int _min;
private readonly int _max;
private int _value;
public string Current => $"0x{_value:X}";
public Counter(int min, int max)
{
_min = min;
_max = max;
_value = min;
}
public void Increase()
{
if(_value >= _max)
throw new IndexOutOfRangeException("Value is too large");
_value++;
}
public void Decrease()
{
if(_value <= _min)
throw new IndexOutOfRangeException("Value is too small");
_value--;
}
}
static void Main(string[] args)
{
var c = new Counter(0x0A, 0xFF);
c.Increase();
Console.WriteLine(c.Current); // => 0xB
c.Decrease();
Console.WriteLine(c.Current); // => 0xA
Console.ReadKey();
}