Java入門第三季1.9圖書查詢

wjaning發表於2021-09-09

package com.imooc;
//測試類
public class TestCheckBook {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    CheckBook cb=new CheckBook();
    cb.initial();//初始化屬性
    cb.checkBook();//呼叫查詢圖書總程式
}

}

package com.imooc;
//輸入異常
public class InsException extends Exception{
InsException(){
super();
}
}

package com.imooc;
//圖書名稱異常
public class BookException extends Exception{
BookException(){
super();
}
}

package com.imooc;

import java.util.InputMismatchException;
import java.util.Scanner;

public class CheckBook {

String[] nums=new String[4];
//初始化書籍
void initial(){
    nums[0]="三國演義";
    nums[1]="水滸傳";
    nums[2]="紅樓夢";
    nums[3]="西遊記";
}
//找書總程式,代入其它所需的方法進來,捕獲被丟擲的異常並做相應處理
void checkBook(){
    try{
        int ins=getId();
        if(ins==1)bookName();
        else bookId();
    }catch(InsException e){
        System.out.println("命令輸入錯誤!請根據提示輸入數字命令!");
        checkBook();
    }catch(BookException e){
        System.out.println("圖書不存在!");
        checkBook();
    }
}
//獲取使用者選擇的編號
int getId()throws InsException{
    Scanner in=new Scanner(System.in);
    System.out.println("輸入命令:1-按照名稱查詢圖書;2-按照序號查詢圖書");
    try{
        int inGet=in.nextInt();
        if(inGet==1||inGet==2)return inGet;
        else throw new InsException();
    }catch(InputMismatchException e){
        throw new InsException();
    }
}
//按圖書名稱查詢
void bookName()throws BookException{
    Scanner in=new Scanner(System.in);
    System.out.println("輸入圖書名稱:");
    try{
        String bookName=in.next();
        for(String x:nums){
            if(bookName.equals(x)){
                System.out.println("book:"+bookName);
                return;
            }
        }
        throw new BookException();
    }catch(BookException e){
        throw new BookException();
    }
}
//按序號編號查詢
void bookId()throws InsException{
    Scanner in=new Scanner(System.in);
    System.out.println("請輸入1~4之間的圖書序號:");
    try{
        int bookId=in.nextInt();
        if(bookId>0&&bookId

仿的一位大神的查書小系統

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2983/viewspace-2807833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章