為什么輸入存在的圖書名也是執行異常?求大蛇指點
public class borrowBooks {
public static void main(String[] args) {
// 調用select方法
borrowBooks Select = new borrowBooks();
Select.select();
}
/**
*?
*/
public void select() {
String[][] bookList=new String[][] {{"1","水滸傳"},{"2","紅樓夢"},{"3","三國演義"}};
//String[] bookList = new String[] {"java基礎","水滸傳","紅樓夢","西游記","數據結構"};?
System.out.println("輸入命令:1-按照圖書名稱查詢 ? 2-按照圖書編號查詢");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
try {
if(num==1) {
System.out.println("請輸入您要查找的圖書名稱:");
Scanner input1 = new Scanner(System.in);
String bookName=input1.nextLine();
//一維數組
/* boolean t=Arrays.asList(bookList).contains(bookName);
if(t) {
System.out.println("您輸入的圖書"+bookName+"存在!");
}else {
throw new NobookException();
}*/
//二維數組
for(String[] bookname:bookList) {
for(String book:bookname) {
if(book.equals(bookName)) {
System.out.println("您輸入的圖書"+book+"存在!");
}else ?{
throw new NobookException();
}
}
}
}else if(num==2) {
System.out.println("請輸入您要查找的圖書編號");
Scanner input2 = new Scanner(System.in);
int bookNum=input2.nextInt();
if(bookNum>=1&&bookNum<=bookList.length) {
System.out.println("您查找的圖書名稱為"+bookList[bookNum-1]);
}else {
throw new NobookException();
}
}else {
throw new CommandException();
}
}catch (NobookException e) {
// TODO: handle exception
System.out.println("您輸入的圖書不存在!請重新輸入");
select();
}catch (CommandException e) {
// TODO: handle exception
System.out.println("您輸入的命令有誤,請重新輸入");
select();
}
}
}
2019-03-18
以下語句執行多次,書名不一樣時,就拋出異常。
if(book.equals(bookName)) {
System.out.println("您輸入的圖書"+book+"存在!");
}else ?{
throw new NobookException();
}