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个串

  • 相关阅读:
    NanoProfiler
    NanoProfiler
    Open Source Cassandra Gitbook for Developer
    Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
    Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
    Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误
    Android Fragment使用(一) 基础篇 温故知新
    Set up Github Pages with Hexo, migrating from Jekyll
    EventBus源码解析 源码阅读记录
    Android M Permission 运行时权限 学习笔记
  • 原文地址:https://www.cnblogs.com/gabygoole/p/4808001.html
Copyright © 2011-2022 走看看