and this is the question
* A Class that maintains Information about a book
* This might form part of a larger application such
* as a library system, for example.
* @author (your name)
* @version (a version number or a date)
public class Book
// instance variables or fields
private String author;
private String title;
* Set the author and title when the book object is constructed
public Book(String bookAuthor, String bookTitle)
author = bookAuthor;
title = bookTitle;
* Return The name of the author.
public String getAuthor()
* Return The name of the title.
public String getTitle()
any help will be greatly appreciated. Thankyou
Add a further instance variable/field pages to the Book class to store the number of pages in the book.
This should be of type int and should be set to 0 in the Constructor.
Add a second Constructor with signature
public Book(String bookAuthor, String bookTitle, int noPages) so it has a third parameter passed to it as well as the author and title;
this parameter is used - obviously?? - to initialise the number of pages.
Note: This is easiest done by making a copy of the existing Constructor and adding the parameter.
Add a getPages() accessor method that returns the number of pages in the book.
Add a method printDetails() to your Book class. This should print out the Author title and number of pages to the Terminal Window. It is your choice as to how the data is formatted, perhaps all on one line, perhaps on three, and with or without explanatory text. For instance you could print out in the format:
Title: Robinson Crusoe, Author: Daniel Defoe, Pages:226
Add a further instance variable/field refNumber() to your Book class. This stores the Library's reference number. It should be of type String and be initialised to the empty String "" in the constructor, as its initial value is not passed in as a parameter. Instead a public mutator method with the signature:
public void setRefNumber(String ref) should be created. The body of this method should assign the value of the method parameter ref to the refNumber.
Add a corresponding getRefNumber() accessor method to your class so you can check that the mutator works correctly
Modify your printDetails() method to include printing the reference number of the book.
However the method should print the reference number only if it has been set - that is the refNumber has a non-zero length.
If it has not been set, print "ZZZ" instead.
Hint Use a conditional statement whose test calls the length() method of the refNumber String and gives a result like:
Title: Jane Eyre, Author: Charlotte Bronte, Pages:226, RefNo: CB479 or, if the reference number is not set:
Title: Robinson Crusoe, Author: Daniel Defoe, Pages:347, RefNo: ZZZ
Modify your setRefNumber() method so that it sets the refNumber field only if the parameter is a string of at least three characters. If it is less than three, then print an error message (which must contain the word error) and leave the field unchanged
Add a further integer variable/field borrowed to the Book class, to keep a count of the number of times a book has been borrowed. It should (obviously??) be set to 0 in the constructor.
Add a mutator method borrow() to the class. This should increment (add 1 to) the value of borrowed each time it is called.
Include an accessor method getBorrowed() that returns the value of borrowed
Modify Print Details so that it includes the value of the borrowed field along with some explanatory text