Описать класс, реализующий шестнадцатеричный счетчик - C# (185457)

Узнай цену своей работы

Формулировка задачи:

Описать класс, реализующий шестнадцатеричный счетчик, который может увеличивать или уменьшать свое значение на единицу в заданном диапазоне. Предусмотреть инициализацию счетчика значениями по умолчанию и произвольными значениями. Счетчик имеет два метода: увеличения и уменьшения, - и свойство, позволяющее получить его текущее состояние. При выходе за границы диапазона выбрасываются исключения. Написать программу, демонстрирующую все разработанные элементы классов.

Решение задачи: «Описать класс, реализующий шестнадцатеричный счетчик»

textual
Листинг программы
  1. class Counter
  2. {
  3.     private readonly int _min;
  4.     private readonly int _max;
  5.     private int _value;
  6.  
  7.     public string Current => $"0x{_value:X}";
  8.  
  9.     public Counter(int min, int max)
  10.     {
  11.         _min = min;
  12.         _max = max;
  13.  
  14.         _value = min;
  15.     }
  16.  
  17.     public void Increase()
  18.     {
  19.         if(_value >= _max)
  20.             throw new IndexOutOfRangeException("Value is too large");
  21.  
  22.         _value++;
  23.     }
  24.  
  25.     public void Decrease()
  26.     {
  27.         if(_value <= _min)
  28.             throw new IndexOutOfRangeException("Value is too small");
  29.  
  30.         _value--;
  31.     }
  32. }
  33.  
  34. static void Main(string[] args)
  35. {
  36.     var c = new Counter(0x0A, 0xFF);
  37.  
  38.     c.Increase();
  39.     Console.WriteLine(c.Current); // => 0xB
  40.     c.Decrease();
  41.     Console.WriteLine(c.Current); // => 0xA
  42.  
  43.     Console.ReadKey();
  44. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы