亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么輸入存在的圖書名也是執行異常?求大蛇指點

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();

}

}

}


正在回答

1 回答

以下語句執行多次,書名不一樣時,就拋出異常。

if(book.equals(bookName)) {

System.out.println("您輸入的圖書"+book+"存在!");

}else ?{

throw new NobookException();

}


0 回復 有任何疑惑可以回復我~
#1

xinzhongdexingxing

這個可以打斷點排查問題的。在拋出異常的地方打斷點,每次進斷點看下是什么樣的數據情況,為什么進斷點,就可以比較快的分析出原因了。
2019-03-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么輸入存在的圖書名也是執行異常?求大蛇指點

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號