感覺有點奇怪,好像沒有正確使用異常。
package?com.jsdx; import?java.util.Scanner; import?java.util.Arrays; public?class?RentBook? { private?static?String[]?bookName?=?{"悟空傳","斗羅大陸","斗破蒼穹","擇天記","遮天"}; public?RentBook() { } public?static?void?main(String[]?args) { RentBook?rentBook?=?new?RentBook(); rentBook.select(); } public?void?bookNumber() { System.out.println("輸入圖書序號:"); @SuppressWarnings("resource") Scanner inNumber?=?new?Scanner(System.in); if(inNumber.hasNextInt()) { int?number?=?inNumber.nextInt(); if(number?>?0?&&?number?<=?bookName.length) { System.out.println("圖書信息:"?+?bookName[number-1]); } else { try? { System.out.println("沒有該序號圖書!"); select(); }?catch?(Exception?e)? { e.printStackTrace(); } } } else { try? { System.out.println("輸入錯誤,請輸入數字!"); bookNumber(); }?catch?(Exception?e)? { e.printStackTrace(); } } } public?void?inName() { System.out.println("輸入圖書名稱:"); @SuppressWarnings("resource") String?name?=??new?Scanner(System.in).nextLine(); boolean?flag?=?Arrays.asList(bookName).contains(name); if(flag) { System.out.println("圖書信息:"?+?name); } else try? { System.out.println("沒有該名稱圖書!"); select(); }?catch?(Exception?e1)? { e1.printStackTrace(); } } public?void?select() { System.out.println("輸入命令:1-按書名查找圖書;?2-按序號查找圖書"); @SuppressWarnings("resource") Scanner?inCammond?=?new?Scanner(System.in); try { if(inCammond.hasNextInt())? { int?cammond?=?inCammond.nextInt(); if(cammond?==?1) { inName(); } else?if?(cammond?==?2) { bookNumber(); } else { throw?new?CammondException(); } } else { throw?new?CammondException(); } }catch?(CammondException?e)? { System.out.println("命令無效,請按提示輸入命令!??!"); select(); } } }
//CammondException時一般的自定義類型
2019-04-23
我其實都不懂什么是異常