Přejít k hlavnímu obsahu
SŠMG
  • Titulní stránka
  • Další
Momentálně na stránky přistupujete s právy hosta.
Přihlášení
Titulní stránka
  1. PVA 2.I – 2 - 2023/2024
  2. Tvorba třídy Knihovna

Tvorba třídy Knihovna

Požadavky na absolvování
Otevřené: Pondělí, 4. prosince 2023, 00.00
Termín: Neděle, 10. prosince 2023, 23.59

Cíl projektu: Vytvoření třídy Library, která bude reprezentovat základní funkcionalitu knihovny v jazyce, jako je Java. Tato třída bude zahrnovat atributy, konstruktor a metody pro správu knih a čtenářů.

1. Atributy třídy

  • libraryName: Řetězec obsahující název knihovny.
  • bookList: Seznam nebo pole obsahující všechny knihy v knihovně.
  • readerList: Seznam nebo pole obsahující všechny čtenáře knihovny.
  • maxBooksPerReader: Celé číslo určující maximální počet knih, které si může čtenář vypůjčit.

2. Konstruktor

  • Konstruktor, který inicializuje libraryName a nastaví bookList a readerList na prázdné seznamy/pole. maxBooksPerReader by mělo být nastaveno na standardní hodnotu, například 5.

3. Metody

  • addBook(book): Metoda pro přidání nové knihy do knihovny.
  • removeBook(book): Metoda pro odebrání knihy z knihovny.
  • borrowBook(book, reader): Metoda pro vypůjčení knihy čtenářem. Zkontrolujte, zda čtenář již nedosáhl svého limitu výpůjček.
  • returnBook(book, reader): Metoda pro vrácení knihy čtenářem do knihovny.
  • addReader(reader): Metoda pro registraci nového čtenáře.
  • removeReader(reader): Metoda pro odstranění čtenáře z knihovny.
  • listAvailableBooks(): Metoda, která vrací seznam všech knih, které nejsou momentálně vypůjčené.
  • listBorrowedBooks(): Metoda, která vrací seznam všech momentálně vypůjčených knih.

4. Dodatečná výzva

  • Implementujte systém pokut pro případy, kdy jsou knihy vráceny pozdě. To zahrnuje přidání atributu returnDate ke knihám a metodu pro výpočet pokuty na základě počtu dní zpoždění.

5. Pomocné třídy

Třída Book

Atributy:

  • title: Řetězec obsahující název knihy.
  • author: Řetězec obsahující jméno autora knihy.

Konstruktor:

  • Konstruktor, který přijímá title a author jako parametry a inicializuje tyto atributy.

Třída Reader

Atributy:

  • name: Řetězec obsahující jméno čtenáře.

Konstruktor:

  • Konstruktor, který přijímá name jako parametr a inicializuje tento atribut.


  • LibraryTest.java LibraryTest.java
    4. prosince 2023, 08.22
Kontaktujte podporu stránek
Momentálně na stránky přistupujete s právy hosta. (Přihlášení)
Souhrn uchovávaných dat
Stáhněte si mobilní aplikaci
Používá Moodle