天天看點

java入門第三季--圖書館借書系統

效果圖:

java入門第三季--圖書館借書系統

copy到項目下,運作Client.java即可。

Client.java

package views;import java.util.Scanner;public class Client {

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        Client client = new Client();

        Scanner input = new Scanner(System.in);

        Library library = new Library();

        System.out.println("進入圖書系統:1是 else否");

        if (input.nextInt() == 1) {

            for (;;) {

                System.out.println("--------圖書系統--------");

                System.out.println("選擇查詢方式:1書名 2編号 0退出");

                boolean existFlag = true;

                boolean exitFlag = false;

                switch (input.nextInt()) {

                case 1:                 

                    System.out.println("請輸入圖書名稱:");

                    // input.nextLine(); // input.nextLine()目的在于消掉回車\n

                    String bookName = input.next();

                    try {

                        // System.out.println("查找中....");

                        for (int i = 0; i < library.Books.length; i++) {

                            if (library.Books[i][1].equals(bookName)) {

                                System.out.println("圖書編号:" + library.Books[i][0] + "圖書名稱:

                                " + bookName);

                                existFlag = false;

                                break;

                            }

                        }

                        if (existFlag) {

                            client.exception1();

                        }

                    } catch (BookNoExistException e) {

                        System.err.println("圖書不存在");

                    }finally { // 針對異常處理時輸出資訊不是很及時,做100ms延遲

                        try

                        {

                            Thread.sleep(100);

                        }

                        catch (InterruptedException e)

                        {

                            e.printStackTrace();

                        }

                    }

                    break;

                case 2:                 

                    System.out.println("請輸入圖書編号:");                 

                    String bookNum = input.next();

                    try {

                        // System.out.println("查找中....");

                        for (int i = 0; i < library.Books.length; i++) {

                            if (library.Books[i][0].equals(bookNum)) {

                                System.out.println("圖書編号:" + library.Books[i][0] + "圖書名稱:

                                " + library.Books[i][1]);

                                existFlag = false;

                                break;

                            }

                        }

                        if (existFlag) {

                            client.exception1();

                        }

                    } catch (BookNoExistException e) {

                        System.err.println("圖書不存在");

                    }finally {

                        try

                        {

                            Thread.sleep(100);

                        }

                        catch (InterruptedException e)

                        {

                            e.printStackTrace();

                        }   

                    }

                    break;

                case 0:

                    exitFlag = true;

                    break;

                default:

                    try {

                        client.exception2();

                    } catch (InvalidCmdException e) {

                        // TODO: handle exception

                        System.out.println("指令輸入錯誤,請根據提示重新輸入數字指令");

                    }

                }

                if(exitFlag == true) {

                    input.close();

                    System.out.println("已退出系統");

                    break;

                }

            }

        } else {

            input.close();

            System.out.println("已退出系統");

        }

    }

    public void exception1() throws BookNoExistException {

        throw new BookNoExistException("圖書不存在");

    }

    public void exception2() throws InvalidCmdException {

        throw new InvalidCmdException("指令輸入錯誤,請根據提示重新輸入數字指令");

    }}

Library.java

package views;public class Library {

    public String [][] Books = new String[][] {{"0001","HallyPotter"},{"0002","preference"},

    {"0003","math"}};}

InvalidCmdException.java

package views;public class InvalidCmdException extends Exception {

    public InvalidCmdException() {

        // TODO Auto-generated constructor stub

    }

    public InvalidCmdException (String message){

        super(message);

    }}

BookNoExistException.java

package views;public class BookNoExistException extends Exception {

    public BookNoExistException() {

        // TODO Auto-generated constructor stub

    }

    public BookNoExistException (String message){

        super(message);

    }}

繼續閱讀