Final Project: Library Management Console App
Combine everything from this course into a small, real console application: a library management system.
Requirements
- Create a
Bookclass with fields for title, author, and a checked-out boolean, plus a constructor and getter methods. - Create a
Libraryclass holding aList<Book>, with methodsaddBook(Book b),checkOut(String title),returnBook(String title), andlistAvailable(). - Use a
Map<String, Book>(keyed by title) internally if you'd like faster lookups than scanning the list, either approach is fine. mainshould add at least 3 books, check one out, attempt to check out an already-checked-out book (and print a clear message instead of crashing), then list what's still available.- Define at least one interface (e.g.
Searchablewith asearch(String query)method) and implement it onLibrary.
Stretch goals
- Add a
Memberclass and track which member currently has each book checked out. - Support returning a book by member name instead of just by title.
- Sort the available books alphabetically before printing them.
Submit a link to your finished project below, an instructor will review it before you can mark this lesson complete. Good luck!