package come; public class Library { // Add the missing implementation to this class String realLocation; String[][] bookCollection = new String[2][10]; int index = 0; public Library(String Location) { realLocation = Location; } static void printOpeningHours() { System.out.println("Libraries are open daily from 9am to 5pm."); } void printAddress() { System.out.println(realLocation); } void addBook(Book collection) { bookCollection[0][index] = collection.title; bookCollection[1][index] = "1"; index++; } void borrowBook(String S) { int index1 = 0; while (!S.equals(bookCollection[0][index1])) {//越界的数字不能放在数组里面 index1++; if(bookCollection[0].length == index1) break; } if (index1 == bookCollection[0].length) { System.out.println("Sorry, this book is not in our catalog."); } else if (bookCollection[1][index1] == "1") { System.out.println("You successfully borrowed The Lord of the Rings"); bookCollection[1][index1] = "0"; } else if (bookCollection[1][index1] == "0") { System.out.println("Sorry, this book is already borrowed."); } } void printAvailableBooks() { int index2 = 0; int flag = 0; while (true) { if (index2 == bookCollection[0].length){ break; } if (bookCollection[1][index2] == "1"){ flag = 1; System.out.println(bookCollection[0][index2]);} index2++; } if(flag == 0){ System.out.println("no book in catalog"); } } void returnBook(String bookName) { for (int i = 0; i < bookCollection[0].length; i++) { if (bookName.equals(bookCollection[0][i])) { bookCollection[1][i] = "1"; break; } } System.out.println("You successfully returned The Lord of the Rings"); } public static void main(String[] args) { // Create two libraries Library firstLibrary = new Library("10 Main St."); Library secondLibrary = new Library("228 Liberty St."); // set the array 0 for (int i = 0; i < firstLibrary.bookCollection[0].length; i++) { firstLibrary.bookCollection[1][i] = "0"; secondLibrary.bookCollection[1][i] = "0"; } // 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(); } }
可优化的地方:此处用的一个String的二维数组来模拟的,实际上应该写一个类,然后建立一个对象的链表或数组就很好
String ar[2][3]即表示两行,每行有3个串