java學習之借書系統
阿新 • • 發佈:2018-04-20
fin main方法 cas int() import pan 需要 使用 system.in
實現的圖書借閱系統要處理用戶輸入的非法參數,並引導用戶正確使用
測試結果:
主要目的就是練習異常處理中的Exception類的使用
使用的相關語法
1 try{ 2 //可能產生異常的代碼塊 3 }catch(Exception e){ 4 //處理異常的代碼塊 5 }finally{//可以根據需要選擇 6 //最終執行的代碼塊 7 }
實現過程:
創建BorrowBook類
import java.util.InputMismatchException; import java.util.Scanner; public class BorrowBook { Scanner scn= new Scanner(System.in); }
定義三種異常類:輸入的編號沒有對應圖書的異常、輸入的書名沒有對應的圖書的異常、其他正常異常
private static class commanException extends Exception{ private commanException() {} } private static class bookNumException extends Exception{ private bookNumException() {} } private static class bookNameException extendsException{ private bookNameException() {} }
創建拋出異常方法,並拋出三種異常
private void commanExc() throws commanException{ throw new commanException(); } private void bookNumExc() throws bookNumException{ throw new bookNumException(); } private void bookNameExc() throws bookNameException{ thrownew bookNameException(); }
創建用於存儲圖書的Box的方法(以兩類書為例)
private static String[] bookBox() { String[] bookBox = new String[] {"高數","線性代數"}; return bookBox; }
創建借書入口方法
private static void borrowBook() throws Exception{ System.out.println("輸入命令:1-根據名稱查找圖書;2-根據序號查找圖書"); try { int inputNum = new BorrowBook().scn.nextInt(); try { if(inputNum == 0) { borrowBkByName(bookBox()); }else if(inputNum == 1){ borrowBkByNum(bookBox()); }else { new BorrowBook().commanExc(); } }catch(Exception e){ System.out.println("命令輸入錯誤,請根據提示輸入數字命令!"); borrowBook(); } }catch(InputMismatchException eInput) { System.out.println("命令輸入錯誤,請根據提示輸入數字命令!"); borrowBook(); } }
創建依據書名借書的方法
private static void borrowBkByName(String[] books) throws Exception{ System.out.println("輸入圖書名稱:"); String bookName = new BorrowBook().scn.next(); try { switch(bookName) { case "高數": System.out.println("book:" + bookName); break; case "線性代數": System.out.println("book:" + bookName); break; default: new BorrowBook().bookNameExc(); } }catch(Exception e) { System.out.println("圖書不存在!"); borrowBkByName(books); } }
創建依據圖書序號借書的方法
private static void borrowBkByNum(String[] books) throws Exception{ System.out.println("輸入圖書序號:"); try { int bookNum = new BorrowBook().scn.nextInt(); try { switch(bookNum) { case 1: System.out.println("book:" + books[bookNum]); break; case 2: System.out.println("book:" + books[bookNum]); break; default: new BorrowBook().bookNumExc(); } }catch(Exception e) { System.out.println("圖書不存在!"); borrowBkByNum(books); } }catch(InputMismatchException e) { System.out.println("命令輸入錯誤,請根據提示輸入數字命令!"); borrowBkByNum(books); } }
用於初始化的main方法
public static void main(String[] args) throws Exception{ borrowBook(); new BorrowBook().scn.close(); }
java學習之借書系統