Hope everyone is okay, I have been searching for a while for a solution for my problem but all my searches seemed to fail, I would like to know how to add a new book into the array of Books I created on the Library class, I have sorted out the rest of the methods, but this is the only one I could not figure.
public class Book {
String title;
boolean borrowed;
// Creates a new Book
public Book(String bookTitle) {
title = bookTitle;
}
public void rented() {
borrowed = true;
}
// Marks the book as rented
public void borrowed() {
borrowed = true;
}
// Marks the book as not rented
public void returned() {
borrowed = false;
}
// Returns true if the book is rented, false otherwise
public boolean isBorrowed() {
if(borrowed)
return true;
return false;
}
// Returns the title of the book
public String getTitle() {
return title;
}
public static void main(String[] arguments) {
// Small test of the Book class
Book example = new Book("The Da Vinci Code");
System.out.println("Title (should be The Da Vinci Code): " + example.getTitle());
System.out.println("Borrowed? (should be false): " + example.isBorrowed());
example.rented();
System.out.println("Borrowed? (should be true): " + example.isBorrowed());
example.returned();
System.out.println("Borrowed? (should be false): " + example.isBorrowed());
}
}
public class Library {
String libraryAddress;
Book[] books = new Book[4];
public Library(String address) {
libraryAddress = address;
}
public static void main(String[] args) {
// Create two libraries
Library firstLibrary = new Library("10 Main St.");
Library secondLibrary = new Library("228 Liberty St.");
// Add four books to the first library
firstLibrary.addBook(new Book("The Da Vinci Code"));
firstLibrary.addBook(new Book("Le Petit Prince"));
firstLibrary.addBook(new Book("A Tale of Two Cities"));
firstLibrary.addBook(new Book("The Lord of the Rings"));
// Print opening hours and the addresses
System.out.println("Library hours:");
printOpeningHours();
System.out.println();
System.out.println("Library addresses:");
firstLibrary.printAddress();
secondLibrary.printAddress();
System.out.println();
// Try to borrow The Lords of the Rings from both libraries
System.out.println("Borrowing The Lord of the Rings:");
firstLibrary.borrowBook("The Lord of the Rings");
firstLibrary.borrowBook("The Lord of the Rings");
secondLibrary.borrowBook("The Lord of the Rings");
System.out.println();
// Print the titles of all available books from both libraries
System.out.println("Books available in the first library:");
firstLibrary.printAvailableBooks();
System.out.println();
System.out.println("Books available in the second library:");
secondLibrary.printAvailableBooks();
System.out.println();
// Return The Lords of the Rings to the first library
System.out.println("Returning The Lord of the Rings:");
firstLibrary.returnBook("The Lord of the Rings");
System.out.println();
// Print the titles of available from the first library
System.out.println("Books available in the first library:");
firstLibrary.printAvailableBooks();
}
private void returnBook(String bookTitle) {
for(int i = 0; i<books.length; i++)
{
if(!(books[i].title == bookTitle))
continue;
else if(books[i].title == bookTitle && books[i].isBorrowed() == true)
books[i].returned();
}
}
private void printAvailableBooks() {
for(int i = 0; i<books.length; i++)
{
System.out.println("Avaiable book: " + books[i].title);
}
}
private void borrowBook(String bookTitle) {
for(int i = 0; i<books.length; i++)
{
if((books[i].title != bookTitle))
continue;
else if(books[i].title == bookTitle && books[i].isBorrowed() == false)
{
books[i].borrowed();
System.out.println("You successfully borrowed " + bookTitle);
}
else
System.out.println("Sorry, this book is already borrowed.");
}
}
public void printAddress() {
System.out.println(libraryAddress);
}
public static void printOpeningHours() {
System.out.println("Libraries are open daily from 9am to 5pm.");
}
public void addBook(Book book) {
// here comes my issue
}
}