亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? library.java

?? 數(shù)據(jù)結(jié)構(gòu)與算法Java語言版(美)Adam Drozdek著
?? JAVA
字號(hào):
import java.io.*;
import java.util.LinkedList;

class Author {
    public String name;
    public BookList books = new BookList();
    public Author() {
    }
    public boolean equals(Object node) {
        return name.equals(((Author) node).name);
    }
    public void display() {
        System.out.println(name);
        books.display();
    }
}

class Book {
    public String title;
    public Patron patron = null;
    public Book() {
    }
    public boolean equals(Object node) {
        return title.equals(((Book) node).title);
    }
    public String toString() {
        return "    * " + title +
           (patron != null ? " - checked out to " + patron.name : "") + "\n";
    }
}

class CheckedOutBook {
    public Author author = null;
    public Book book = null;
    public CheckedOutBook() {
    }
    public boolean equals(Object node) {
        return book.title.equals(((CheckedOutBook) node).book.title) &&
               author.name.equals(((CheckedOutBook) node).author.name);
    }
    public String toString() {
        return "    * " + author.name + ", " + book.title + "\n";
    }
}

class Patron {
    public String name;
    public BookList books = new BookList();
    public Patron() {
    }
    public boolean equals(Object node) {
        return name.equals(((Patron) node).name);
    }
    public void display() {
        if (!books.isEmpty()) {
             System.out.println(name + " has the following books:");
             books.display();
        }
        else System.out.print(name + " has no books");
    }
}

class AuthorList extends LinkedList {
    public AuthorList() {
        super();
    }
    public void display() {
        Object[] authors = toArray();
        for (int i = 0; i < authors.length; i++)
            ((Author)authors[i]).display();
    }
}

class BookList extends LinkedList {
    public BookList() {
        super();
    }
    public void display() {
        for (int i = 0; i < size(); i++)
            System.out.print(get(i));
    }
}

class PatronList extends LinkedList {
    public PatronList() {
        super();
    }
    public void display() {
        for (java.util.Iterator it = iterator(); it.hasNext(); )
             ((Patron)it.next()).display();
    }
}
    
class Library {
    private AuthorList[] catalog = new AuthorList[(int)('Z'+1)];
    private PatronList[] people = new PatronList[(int)('Z'+1)];
    private String input;
    private BufferedReader buffer = new BufferedReader(
                                    new InputStreamReader(System.in));
    public Library() {
        for (int i = 0; i <= (int) 'Z'; i++) {
            catalog[i] = new AuthorList();
            people[i] = new PatronList();
        }
    }
    private String getString(String msg) {
        System.out.print(msg + " ");
        System.out.flush();
        try {
            input = buffer.readLine();
        } catch(IOException io) {
        }
        return input.substring(0,1).toUpperCase() + input.substring(1);
    }
    private void status() {
        System.out.println("Library has the following books:\n ");
        for (int i = (int) 'A'; i <= (int) 'Z'; i++)
            if (!catalog[i].isEmpty())
                catalog[i].display();
        System.out.println("\nThe following people are using the library:\n ");
        for (int i = (int) 'A'; i <= (int) 'Z'; i++)
            if (!people[i].isEmpty())
                people[i].display();
    }
    private void includeBook() {
        Author newAuthor = new Author();
        int oldAuthor;
        Book newBook = new Book();
        newAuthor.name = getString("Enter author's name:");
        newBook.title  = getString("Enter the title of the book:");
        oldAuthor = catalog[(int) newAuthor.name.charAt(0)].indexOf(newAuthor);
        if (oldAuthor == -1) {
             newAuthor.books.add(newBook);
             catalog[(int) newAuthor.name.charAt(0)].add(newAuthor);
        }
        else ((Author)catalog[(int) newAuthor.name.charAt(0)].get(oldAuthor)).
             books.add(newBook);
    }
    private void checkOutBook() {
        Patron patron = new Patron(), patronRef;
        Author author = new Author(), authorRef = new Author();
        Book   book   = new Book();
        int patronIndex, bookIndex = -1, authorIndex = -1;
        patron.name = getString("Enter patron's name:");
        while (authorIndex == -1) {
            author.name = getString("Enter author's name:");
            authorIndex = catalog[(int) author.name.charAt(0)].indexOf(author);
            if (authorIndex == -1)
                System.out.println("Misspelled author's name");
        }
        while (bookIndex == -1) {              
            book.title = getString("Enter the title of the book:");
            authorRef = (Author) catalog[(int) author.name.charAt(0)].get(authorIndex);
            bookIndex = authorRef.books.indexOf(book);
            if (bookIndex == -1)
                System.out.println("Misspelled title");
        }
        Book bookRef = (Book) authorRef.books.get(bookIndex);
        CheckedOutBook bookToCheckOut = new CheckedOutBook();
        bookToCheckOut.author = authorRef;
        bookToCheckOut.book   = bookRef;
        patronIndex = people[(int) patron.name.charAt(0)].indexOf(patron);
        if (patronIndex == -1) {        // a new patron in the library;
             patron.books.add(bookToCheckOut);
             people[(int) patron.name.charAt(0)].add(patron);
             bookRef.patron = (Patron) people[(int) patron.name.charAt(0)].getFirst();
        }
        else {
             patronRef = (Patron) people[(int) patron.name.charAt(0)].get(patronIndex);
             patronRef.books.add(bookToCheckOut);
             bookRef.patron = patronRef;
        }
    }
    private void returnBook() {
        Patron patron = new Patron();
        Book book = new Book();
        Author author = new Author(), authorRef = new Author();
        int patronIndex = -1,  bookIndex = -1, authorIndex = -1;
        while (patronIndex == -1) {
            patron.name = getString("Enter patron's name:");
            patronIndex = people[(int) patron.name.charAt(0)].indexOf(patron);
            if (patronIndex == -1)
                System.out.println("Patron's name misspelled");
        }
        while (authorIndex == -1) {
            author.name = getString("Enter author's name:");
            authorIndex = catalog[(int) author.name.charAt(0)].indexOf(author);
            if (authorIndex == -1)
                System.out.println("Misspelled author's name");
        }
        while (bookIndex == -1) {
            book.title = getString("Enter the title of the book:");
            authorRef = (Author) catalog[(int) author.name.charAt(0)].get(authorIndex);
            bookIndex = authorRef.books.indexOf(book);
            if (bookIndex == -1)
                System.out.println("Misspelled title");
        }
        CheckedOutBook checkedOutBook = new CheckedOutBook();
        checkedOutBook.author = authorRef;
        checkedOutBook.book   = (Book) authorRef.books.get(bookIndex);
        ((Book)authorRef.books.get(bookIndex)).patron = null;
        ((Patron)people[(int) patron.name.charAt(0)].get(patronIndex)).
                books.remove(checkedOutBook);
    }
    public void run() {
        while (true) {
            char option = getString("\nEnter one of the following options:\n" +
                                    "1. Include a book in the catalog\n" +
                                    "2. Check out a book\n" +
                                    "3. Return a book\n4. Status\n5. Exit\n" +
                                    "Your option:").charAt(0);
            switch (option) {
                case '1': includeBook();  break;
                case '2': checkOutBook(); break;
                case '3': returnBook();   break;
                case '4': status();       break;
                case '5': return;
                default: System.out.println("Wrong option, try again.");
            }
        }
    }
    public static void main(String args[]) {
        (new Library()).run();
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费人成网站在线观看欧美高清| 日本欧美一区二区| 国产999精品久久久久久| 精品日韩一区二区| 精品无码三级在线观看视频| 精品国产乱码久久久久久图片| 久久99精品久久久久| 精品国产乱码久久久久久老虎| 国产一区激情在线| 国产欧美一区二区三区在线看蜜臀| 高清成人在线观看| ...xxx性欧美| 精品婷婷伊人一区三区三| 亚洲不卡一区二区三区| 日韩一区二区在线观看视频| 黄色资源网久久资源365| 久久精品视频在线免费观看| 91在线丨porny丨国产| 亚洲午夜久久久| 欧美tickling挠脚心丨vk| 欧美在线free| 美女看a上一区| 亚洲va欧美va人人爽| 91精品国产综合久久久久| 国产综合色视频| 亚洲视频每日更新| 日韩一卡二卡三卡| 国产v日产∨综合v精品视频| 一级日本不卡的影视| 欧美tickling网站挠脚心| 不卡的av中国片| 日韩av午夜在线观看| 久久精品视频一区| 欧美日韩亚洲高清一区二区| 国内不卡的二区三区中文字幕| 国产精品国产三级国产a | 欧美视频中文一区二区三区在线观看| 天天色综合天天| 国产亚洲综合av| 欧美久久高跟鞋激| 麻豆精品视频在线| 成人一区二区在线观看| 337p亚洲精品色噜噜| 国产精品白丝jk黑袜喷水| 亚洲女性喷水在线观看一区| 日韩欧美www| 色狠狠综合天天综合综合| 久久精品国产**网站演员| 一区二区三区.www| 国产欧美精品国产国产专区 | 欧洲一区二区av| 久久99精品久久久久久| 亚洲午夜精品久久久久久久久| 久久久久九九视频| 欧美人与性动xxxx| www.欧美色图| 国产老妇另类xxxxx| 日韩不卡手机在线v区| 一区二区三区蜜桃| 欧美激情一区二区三区在线| 日韩精品中文字幕一区| 欧美三级蜜桃2在线观看| 欧美丰满少妇xxxbbb| 日本一区二区三区四区| 99国产精品一区| 国模大尺度一区二区三区| 亚洲午夜久久久久久久久久久 | 丰满白嫩尤物一区二区| 人人精品人人爱| 偷拍日韩校园综合在线| 亚洲一区二区三区四区在线观看 | 欧美精品一卡两卡| 91丝袜高跟美女视频| 成人伦理片在线| 国产不卡视频在线观看| 国产盗摄女厕一区二区三区| 久久国产精品99精品国产| 婷婷开心激情综合| 亚洲成人av一区二区三区| 亚洲电影欧美电影有声小说| 夜夜嗨av一区二区三区网页| 亚洲精品乱码久久久久| 伊人性伊人情综合网| 亚洲综合视频在线观看| 国产精品亚洲视频| 日本欧美大码aⅴ在线播放| 91精品国产综合久久精品麻豆| 色美美综合视频| 综合激情网...| 精品制服美女久久| 亚洲色图制服丝袜| 亚洲精品五月天| 亚洲一区二区三区四区在线观看| 一区二区国产视频| 午夜精品一区在线观看| 日日夜夜精品视频天天综合网| 青青青爽久久午夜综合久久午夜 | 色综合天天做天天爱| 日本高清成人免费播放| 欧美羞羞免费网站| 日韩一区二区三区免费观看| 久久久久久免费| 国产精品人妖ts系列视频 | 亚洲一区二区美女| 日韩黄色小视频| 国产精品一区二区三区四区| 成人午夜又粗又硬又大| 日本道精品一区二区三区| 欧美日韩国产精品成人| 久久―日本道色综合久久| 中文字幕欧美一区| 天天亚洲美女在线视频| 国产一区二区美女| 91在线丨porny丨国产| 欧美日韩大陆在线| 国产日韩精品一区二区三区 | 国产原创一区二区三区| 99久久婷婷国产综合精品电影| 欧美日韩免费观看一区二区三区 | 欧美日韩一本到| 久久久国产精品不卡| 《视频一区视频二区| 麻豆视频观看网址久久| 99久久免费精品高清特色大片| 欧美剧在线免费观看网站 | 国产精品电影一区二区| 日韩中文字幕亚洲一区二区va在线| 国产在线麻豆精品观看| 欧美自拍偷拍一区| 国产日韩欧美a| 日本视频一区二区| 99精品视频免费在线观看| 日韩女优制服丝袜电影| 一区二区成人在线视频| 国产高清在线精品| 欧美一区二区三区喷汁尤物| 最新高清无码专区| 韩日av一区二区| 午夜免费久久看| 91精品在线一区二区| 一区二区高清在线| 制服丝袜亚洲色图| 福利一区福利二区| 亚洲国产视频一区| 久久午夜国产精品| 欧美亚洲综合色| 国产美女av一区二区三区| 欧美激情一区二区三区四区| 欧美午夜精品久久久| 国产成人啪免费观看软件| 久久久久一区二区三区四区| 中文幕一区二区三区久久蜜桃| 一二三区精品视频| 国产精品亚洲综合一区在线观看| 欧美日韩视频在线一区二区| 亚洲日本成人在线观看| 国产99久久精品| 久久亚洲一级片| 久久99九九99精品| 91精品国产综合久久香蕉的特点| 日韩美女视频一区| 国产suv精品一区二区883| 欧美精品一区二区三区蜜臀| 日本麻豆一区二区三区视频| 欧美日韩精品欧美日韩精品 | 国精产品一区一区三区mba桃花| 欧美日韩夫妻久久| 丝袜美腿亚洲综合| 欧美高清你懂得| 亚洲成人福利片| 欧美在线播放高清精品| 亚洲一区二区三区四区五区中文 | 久久激五月天综合精品| 日韩一区二区三区精品视频| 日本不卡一二三| 日韩午夜电影av| 精品一区二区国语对白| 精品国产免费久久| 国产乱码一区二区三区| 久久九九全国免费| 不卡电影一区二区三区| 亚洲精品综合在线| 欧美日韩精品二区第二页| 日日夜夜精品视频免费| 精品国产人成亚洲区| 国产自产2019最新不卡| 亚洲国产成人自拍| 91香蕉视频在线| 亚洲动漫第一页| 欧美成人免费网站| 成人免费高清在线| 一区二区三区在线视频观看58| 欧美三级韩国三级日本三斤| 日韩精品一二三区| 久久久久国产精品免费免费搜索| 国产丶欧美丶日本不卡视频| 亚洲欧洲精品成人久久奇米网| 欧美色男人天堂| 极品少妇xxxx精品少妇偷拍| 国产精品久久久久久久久动漫 |