![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk5ZmZORPq2wKfLz239tDgGZBniVQCG_wQNHpfVtvy8ptMCpljUW__qA4i2i8dK-9O7Iw5jrHTZaQwj7y7nFYPfKGtG3HgHpYE31ZMT4W7X7mzqMYri13nqa187wxtzD0e6V2YIa5xzCk/s200/Apples-1.jpg)
Я думаю, что некоторым из Вас это видео может показаться неинтересным, не открывшим ничего нового. Это хорошо, что Вы знаете эти темы - подождите следующих видео :) А я буду рад за тех, кто почерпнет что-то полезное из этого материала. Потому что на самом деле, реальные баги в реальных проектах, которые мне пришлось отлавливать, возникли как раз из-за невнимательности (или незнания) при работе с этими реализациями Set.
Так как многие из Вас хотят домашнего задания, чтобы потренировать навыки программирования, то вот одно, среднего уровня сложности:
Написать программу, которая выводит 3 блока информации:
Список праздников прочитать при старте программы из этого файла: holidays.txt.zip
- список праздников на сегодняшний день
- список праздников на завтрашний день
- список праздников на ближайшие 5 дней, не включая сегодняшний и завтрашний дни
Каждую строку в этом файле преобразовать в объект класса Holiday, который implements Comparable<Date>, и который будет иметь два поля: Date date и String name.
Для хранения объектов Holiday в памяти использовать TreeSet.
Результат работы программы должен быть приблизительно таким:
#>java package.name.ShowHoliday
Сегодня:
Праздник 1
Праздник 2
Завтра:
Праздник 3
Праздник 4
Скоро:
Ср, 17 июля - Праздник 5
- Праздник 6
Чт, 18 июля - Праздник 7
- Праздник 8
Реализовать в программе возможность передать заданный день и количество дней в командной строке. В этом случае вывести все праздники на этот день и на следующее количество дней, оформив вывод так, как сделано в блоке “Скоро” при обычном запуске программы.
P.S. Если вдруг кому интересно, то для формирования файла с праздниками я написал shell-скрипт на bash, который посылает запросы на сайт и парсит праздники с результирующей страницы. Вы можете скачать скрипт и поиграться с ним (нужен Linux): holiday_parse.sh
Ну и, собственно, видео:
No comments:
Post a Comment