Упражнения за извънаудиторна заетост

Да се създаде програма за книжарница.

Предвидете програмата да продуцира изключение InvalidDataException с подходящо съобщение. Приложете по усмотрение.

Ще ви е небходим интерфейс CoverType с метод isHardCover(), който връща булева стойност.

Абстрактен клас Person:

  • Атрибути: firstName, lastName (определете модификаторите за достъп);

  • Конструктор – според употребата;

  • Акселератори: според модификаторите и употребата;

  • Методи: equals, hashCode, toString.

Клас Author:

  • Наследява Person;

  • Атрибути: country, genre (определете модификаторите за достъп);

  • Конструктор – според употребата;

  • Акселератори: според модификаторите и употребата;

  • Методи: equals, hashCode, toString.

Клас Book:

  • Имплементира интерфейс CoverType;

  • Атрибути: title, author, publishingYear, quantity (по-голямо от 5), price (по-голяма от 9,99) (определете модификаторите за достъп);

  • Конструктор – според употребата;

  • Акселератори: според модификаторите и употребата;

  • Методи: : equals, hashCode, toString;

  • Интерфейсният метод връща истина, ако книгата е издадена преди 2000 година и има цена над 14лв.

Клас BookStore:

  • Атрибути:  име на книжарницата и колекция от уникални книги (определете модификаторите за достъп);

  • Експлицитен конструктор по име на файл, в който се съдържа информация за книгите;

Примерен формат на файла:

„Под игото“ Иван Вазов България класика 1985 12 15,0

„На изток от Рая“ Джон Стайнбек САЩ класика 1998 18 12,58

...

  • Методи:

  • За добавяне на книга към колекцията;

  • За намиране и връщане на цената на наличните книги;

  • За намиране и връщане на средната цена на книги от зададен жанр;

  • За намиране и връщане на автора с най-много книги;

  • За намиране и връщане на броя уникални автори, публикували книга след зададена година;

  • За връщане на книгите, подредени по националността на автора;

  • За намиране и връщане на броя книги с твърди корици;

  • toString.

Клас Main с главна функция:

  • създайте обект BookStore с име на файл, в който има поне 3 различни автора с минимум една книга;

  • добавете нови книги в книжарницата;

  • запишете в нов файл:

  • цената на всички книги;

  • средната цена на книгите от жанр „Класика“;

  • името на автора с най-много книги;

  • колко са авторите с книги, издадени след 1990 година;

  • книгите, сортирани по националност на автора;

  • броя книги с твърди корици.

Last updated