ShortDate

Разработать класс ShortDate для представления информации о дне в году (но без самого года). Релизовать доступ к полям через set- и get-методы (с контролем допустимости аргументов!), два конструктора (по умолчанию и с параметрами), метод вывода объекта на экран, метод инкремента (преобразует объект в "завтра"). Создать массив с государственными праздниками Украины, добавить или удалить (на Ваш выбор) из него один элемент. Результат вывести на экран.

Необходимые public-методы класса:

  • ShortDate();
  • ShortDate(int day, int month);
  • int getMonth();
  • int getDay();
  • boolean set(int day, int month);// задать новые значения месяца и дня
  • String toString();
  • boolean increment();

Технические подробности

  1. Конструктор по умолчанию создает Новый год (1 января).
  2. Методы set() и increment() в случае ошибки должны возвращать false, в случае успеха - true.
  3. В случае передачи некорректных параметров в конструктор с параметрами на экран выводится предупредительное сообщение: "Error creating dd.mm" (с указанием конкретной даты). Но объект все равно создается.
  4. Метод toString() возвращает строку, состоящую из номера дня и номера месяца, разделенных точкой.
  5. Результатом инкремента 31-го декабря является 1-ое января. Но эта ситуация считается ошибочной (возвращается false).
  6. О существовании 29-го февраля на время забудьте ;)
  7. Создание массива с праздниками и добавление/удаление из него элемента делать в main()'е (сам main поместить в тот же класс). Строгих правил относительно списка праздников, и какой из них добавлять/удалять здесь нет, т.к. это задание будет проверяться вручную.

Примеры

Вход
Выход
ShortDate d = new ShortDate();
System.out.println(d);

d.set(13, 12);
System.out.println(d);

System.out.println(d.getDay() + "." + d.getMonth() + "." + 2017);
1.1
13.12
13.12.2017
ShortDate d = new ShortDate(2, 1);
System.out.println(d);

d.increment();
System.out.println(d);
2.1
3.1

Comments