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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JAVA異常課后作業勉強寫出,有以下請教,并求幾篇好的學習JAVA異常的文章?

JAVA異常課后作業勉強寫出,有以下請教,并求幾篇好的學習JAVA異常的文章?

qq_魚仔仔_0 2016-12-27 21:33:42
以下代碼可以正常運行 比較不明白的是 因為按字符串查找圖書所以定義了String型保存A 如果輸入INT型數據則不會報錯 此處可如何解決 也希望收到其他可以指正的地方 package?com.ExceptionEXE; import?java.util.Scanner; public?class?ExceptionEXE?{ String?books[]={"0位置為空","Chinese","English","Math"}; public?static?void?main(String[]?args)?throws?NoBooksException?{ ExceptionEXE?e?=?new?ExceptionEXE(); System.out.println("輸入1,按書名查詢;輸入2,按序號查詢:"); ??????Scanner?D?=?new?Scanner(System.in);??? ??????int?input?=?D.nextInt(); ??????switch(input){ ??????case?1: ???? ??try?{ e.searchName(); }?catch?(NoBooksException?e1)?{ //?TODO?Auto-generated?catch?block e1.printStackTrace(); } ???? ??break; ??????case?2: ???? ??try?{ e.searchNumber(); }?catch?(NoNumException?e1)?{ //?TODO?Auto-generated?catch?block e1.printStackTrace(); } ???? ??break; ???? ?? ???? ??default: ???? ??System.out.println("輸入錯誤,輸入值只能為1或2"); ???? ??break; ??????} ?????????????D.close(); } public?void?searchName()?throws?NoBooksException{ System.out.println("按照字符串查找:"); Scanner?a?=?new?Scanner(System.in); String?A?=?a.next(); int?count?=?0; for(int?i=0;i<books.length;i++){ if(A.equals(books[i])){ // System.out.println("相等"); System.out.println(i+"?"+books[i]); } count++; if(count>books.length){ throw?new?NoBooksException("沒有圖書"); } } } public?void?searchNumber()throws?NoNumException{ Scanner?a?=?new?Scanner(System.in); System.out.println("按照數字查找:"); int?B?=?a.nextInt(); if(B<1||B>3){ throw?new?NoNumException("數字超出范圍"); } System.out.println(B+"?"+books[B]); ????? } }package?com.ExceptionEXE; public?class?NoBooksException?extends?Exception{ ????public?NoBooksException(String?msg){ ???? super(msg); ????} }package?com.ExceptionEXE; public?class?NoNumException?extends?Exception{ ????public?NoNumException(String?msg){ ???? super(msg); ????} }
查看完整描述

1 回答

已采納
?
A未來戰士N

TA貢獻1條經驗 獲得超1個贊

http://img1.sycdn.imooc.com//586315a600013d7505760399.jpg樓主的if(count>books.length){}語句是不會執行的,因為count最大只能是books.length,所以改成我這樣試試

查看完整回答
1 反對 回復 2016-12-28
  • 1 回答
  • 0 關注
  • 1258 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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