Answer to Question #248167 in Java | JSP | JSF for Locos

Question #248167

Write a menu driven application to Library Management using Java to demonstrate the concept of Inheritance. Your application must contain the following functionalities along with the use of method overriding, and super keyword.

 

a. The following details must be there for each Book

   i. bookTitle

  ii. bookAuthor

 iii. bookNoOfCopies

 iv. bookAvailability

  v. bookEdition

 vi. bookPublisher

b. Get the Book details from librarian

c. In the menu give options to borrow, return and Search options


1
Expert's answer
2021-10-07T23:39:04-0400
public class Book {
    private String bookTitle;
    private String bookAuthor;
    private boolean bookNoOfCopies;
    private boolean bookAvailability;
    private int bookEdition;
    private String bookPublisher;

    public Book(String bookTitle, String bookAuthor, boolean bookNoOfCopies, boolean bookAvailability,
                int bookEdition, String bookPublisher) {
        this.bookTitle = bookTitle;
        this.bookAuthor = bookAuthor;
        this.bookNoOfCopies = bookNoOfCopies;
        this.bookAvailability = bookAvailability;
        this.bookEdition = bookEdition;
        this.bookPublisher = bookPublisher;
    }

    public String getBookTitle() {
        return bookTitle;
    }

    public void setBookAvailability(boolean bookAvailability) {
        this.bookAvailability = bookAvailability;
    }

    public boolean isBookAvailability() {
        return bookAvailability;
    }

    @Override
    public String toString() {
        return "Book{" +
                "bookTitle='" + bookTitle + '\'' +
                ", bookAuthor='" + bookAuthor + '\'' +
                ", bookNoOfCopies=" + bookNoOfCopies +
                ", bookAvailability=" + bookAvailability +
                ", bookEdition=" + bookEdition +
                ", bookPublisher='" + bookPublisher + '\'' +
                '}';
    }
}


public class PaidBook extends Book {
    private double cost;

    public PaidBook(String bookTitle, String bookAuthor, boolean bookNoOfCopies, boolean bookAvailability,
                    int bookEdition, String bookPublisher, double cost) {
        super(bookTitle, bookAuthor, bookNoOfCopies, bookAvailability, bookEdition, bookPublisher);
        this.cost = cost;
    }

    @Override
    public String toString() {
        return "PaidBook{" +
                "cost=" + cost +
                "} " + super.toString();
    }
}


import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    public static void showBooks(ArrayList<Book> books) {
        for (Book book : books) {
            System.out.println(book);
        }
    }

    public static Book searchBook(ArrayList<Book> books, String title) {
        for (Book book : books) {
            if (book.getBookTitle().equals(title)) {
                return book;
            }
        }
        return null;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        ArrayList<Book> books = new ArrayList<>();
        books.add(new Book("Java", "Me", false, true, 1, "Me"));
        books.add(new PaidBook("C++", "Friend", false, true, 1, "Friend", 100));
        String input;
        Book book;
        while (true) {
            System.out.println("1. Show books\n" +
                    "2. Borrow book\n" +
                    "3. Return book\n" +
                    "4. Search book\n" +
                    "0. Exit");
            input = in.nextLine();
            switch (input) {
                case "1":
                    showBooks(books);
                    break;
                case "2":
                    System.out.println("Enter a title:");
                    book = searchBook(books, in.nextLine());
                    if (book != null) {
                        if (book.isBookAvailability()) {
                            book.setBookAvailability(false);
                            System.out.println("The book is borrowed");
                        } else {
                            System.out.println("The book has already been borrowed");
                        }
                    } else {
                        System.out.println("Book not found");
                    }
                    break;
                case "3":
                    System.out.println("Enter a title:");
                    book = searchBook(books, in.nextLine());
                    if (book != null) {
                        if (!book.isBookAvailability()) {
                            book.setBookAvailability(true);
                            System.out.println("The book is returned");
                        } else {
                            System.out.println("The book is not borrowed");
                        }
                    } else {
                        System.out.println("Book not found");
                    }
                    break;
                case "4":
                    System.out.println("Enter a title:");
                     book = searchBook(books, in.nextLine());
                    if (book != null) {
                        System.out.println(book);
                    } else {
                        System.out.println("Book not found");
                    }
                    break;
                case "0":
                    System.exit(0);
            }
        }
    }

}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS