zoukankan      html  css  js  c++  java
  • mit java open course assignment #4

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

    可优化的地方:此处用的一个String的二维数组来模拟的,实际上应该写一个类,然后建立一个对象的链表或数组就很好

    String ar[2][3]即表示两行,每行有3个串

  • 相关阅读:
    「manacher」
    「回文自动机」
    「可持久化数据结构(平衡树、trie树、线段树) 」
    「后缀数组」
    「LCT」
    「网络流」
    「一些知识点」
    「至今不会」
    「推荐博客」
    「最小生成树」
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4808001.html
Copyright © 2011-2022 走看看