5
7/28/2019 MIT6_092IAP10_assn04 http://slidepdf.com/reader/full/mit6092iap10assn04 1/5 The libraries of SmallTownX need a new electronic rental system, and it is up to you to build it. SmallTownX has two libraries. Each library offers many books to rent. Customers can print the list of available books, borrow, and return  books. We provide two classes, Book and Library, that provide the functionality for the book database. You must implement the missing methods to make these classes work. Step One: Implement Book First we need a class to model books. Start by creating a class called Book. Copy and paste the skeleton below. This class defines methods to get the title of a book, find out if it is available, borrow the book, and return the book. However, the skeleton that we provide is missing the implementations of the methods. Fill in the body of the methods with the appropriate code. The main method tests the methods. When you run the program, the output should be:  Ti tl e (shoul d be The Da Vi nci Code): The Da Vi nci Code Rent ed? ( shoul d be fal se) : f al se Rent ed? ( shoul d be tr ue): t r ue Rent ed? ( shoul d be fal se) : f al se Hint: Look at the main method to see how the methods are used, then fill in the code for each method. Step Two: Implement Library  Next we need to build the class that will represent each library, and manage a collection of books. All libraries have the same hours: 9 AM to 5 PM daily. However, they have different addresses and book collections (i.e., arrays of Book objects). Create a class called Library. Copy and paste the skeleton below. We provide a main method that creates two libraries, then performs some operations on the books. However, all the methods and member variables are missing. You will need to define and implement the missing methods. Read the main method and look at the compile errors to figure out what methods are missing. Notes Some methods will need to be static methods, and some need to be instancemethods. Be careful when comparing Strings objects. Use s t r i ng1. equal s ( s t r i ng2) for comparing the contents of  str i ng1 and str i ng2. You should get a small part working at a time. Start by commenting the entire main method, then uncomment it line  by line. Run the program, get the first lines working, then uncomment the next line, get that working, etc. You can comment a block of code in Eclipse by selecting the code, then choosing Source Toggle Comment. Do the same again to uncomment it. You must not modify the main method. The output when you run this program should be similar to the following: Li br ary hour s: Li brari es are open dai l y from9amto 5pm . Li brary addresses: 10 Mai n St. 228 Li bert y St .

MIT6_092IAP10_assn04

Embed Size (px)

Citation preview

Page 1: MIT6_092IAP10_assn04

7/28/2019 MIT6_092IAP10_assn04

http://slidepdf.com/reader/full/mit6092iap10assn04 1/5

The libraries of SmallTownX need a new electronic rental system, and it is up to you to build it. SmallTownX has two

libraries. Each library offers many books to rent. Customers can print the list of available books, borrow, and return

 books.

We provide two classes, Book and Li brary, that provide the functionality for the book database. You must implement the

missing methods to make these classes work.

Step One: Implement Book

First we need a class to model books. Start by creating a class called Book. Copy and paste the skeleton below. This class

defines methods to get the title of a book, find out if it is available, borrow the book, and return the book. However, the

skeleton that we provide is missing the implementations of the methods. Fill in the body of the methods with the

appropriate code. The mai n method tests the methods. When you run the program, the output should be:

 Ti t l e ( shoul d be The Da Vi nci Code) : The Da Vi nci CodeRent ed? ( shoul d be fal se) : f al seRent ed? ( shoul d be tr ue): t r ueRent ed? ( shoul d be fal se) : f al se

Hint: Look at the mai n method to see how the methods are used, then fill in the code for each method.

Step Two: Implement Library

 Next we need to build the class that will represent each library, and manage a collection of books. All libraries have the

same hours: 9 AM to 5 PM daily. However, they have different addresses and book collections (i.e., arrays of Book

objects).

Create a class called Li brary. Copy and paste the skeleton below. We provide a mai n method that creates two libraries,then performs some operations on the books. However, all the methods and member variables are missing. You will need

to define and implement the missing methods. Read the mai n method and look at the compile errors to figure out what

methods are missing.

Notes

Some methods will need to be static methods, and some need to be instancemethods.Be careful when comparing Strings objects. Use st r i ng1. equal s( st ri ng2) for comparing the contents of str i ng1 and str i ng2.You should get a small part working at a time. Start by commenting the entire mai n method, then uncomment it line by line. Run the program, get the first lines working, then uncomment the next line, get that working, etc. You cancomment a block of code in Eclipse by selecting the code, then choosing Source→ Toggle Comment. Do the sameagain to uncomment it.You must notmodify the mai n method.

The output when you run this program should be similar to the following:

Li br ary hour s: Li br ari es ar e open dai l y f r om9am t o 5pm. Li br ary addr esses: 10 Mai n St . 228 Li bert y St .

Page 2: MIT6_092IAP10_assn04

7/28/2019 MIT6_092IAP10_assn04

http://slidepdf.com/reader/full/mit6092iap10assn04 2/5

Borr owi ng The Lor d of t he Ri ngs:  You successf ul l y borr owed The Lor d of t he Ri ngsSorr y, t hi s book i s al r eady borr owed. Sor r y, t hi s book i s not i n our cat al og. Books avai l abl e i n t he f i rst l i brary:  The Da Vi nci CodeLe Pet i t Pr i nceA Tal e of Two Ci t i esBooks avai l abl e i n t he second l i br ary: No book i n cat al og

Retur ni ng The Lor d of t he Ri ngs:  You successf ul l y r et urned The Lor d of t he Ri ngsBooks avai l abl e i n t he f i rst l i brary:  The Da Vi nci CodeLe Pet i t Pr i nceA Tal e of Two Ci t i es The Lor d of t he Ri ngs

Submit both files (Book. j ava and Li brary. j ava) via Stellar.

Good luck!

Book.java

publ ic class Book {

String title;boolean borrowed;// Creates a new Book 

public Book(String bookTitle) {// Implement this method

}

// Marks the book as rented

public void borrowed() {// Implement this method

}

// Marks the book as not rented

public void returned() {

// Implement this method

}

// Returns true if the book is rented, false otherwise

public boolean isBorrowed() {// Implement this method

}

// Returns the title of the book 

public String getTitle() {

// Implement this method

}

Page 3: MIT6_092IAP10_assn04

7/28/2019 MIT6_092IAP10_assn04

http://slidepdf.com/reader/full/mit6092iap10assn04 3/5

pub lic 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());

}

}

Library.java

publ ic class Library {

// Add the missing implementation to this class

pub lic static void main(String[] args) {

// Create two librariesLibrary 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();

Page 4: MIT6_092IAP10_assn04

7/28/2019 MIT6_092IAP10_assn04

http://slidepdf.com/reader/full/mit6092iap10assn04 4/5

// 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();}

}

Page 5: MIT6_092IAP10_assn04

7/28/2019 MIT6_092IAP10_assn04

http://slidepdf.com/reader/full/mit6092iap10assn04 5/5

MIT OpenCourseWarehttp://ocw.mit.edu 

6.092 Introduction to Programming in Java

January (IAP) 2010

For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.