測試類package?Library;
import?java.util.Scanner;
public?class?Tushuguan?{
public?static?void?main(String[]?args)?{
System.out.println("1-按照書名查詢信息"+"2-按照序號查詢信息");
try{
Scanner?inqut=new?Scanner(System.in);
int?num=inqut.nextInt();}
????
????catch(Exception?e){
???? System.out.println("請輸入數字1或者2進行查詢");
???? System.out.println("請重新輸入");
???? Scanner?in?=?new?Scanner(System.in);
???? int?sum=in.nextInt();
????
????try{????switch(sum){
???? case?1:
???? shuming?one=new?shuming();
???? String?name1=one.Book();
???? break;
????} }
???? catch(Exception?a){
???? a.printStackTrace();
???? System.out.println("請輸入正確的書名"+"\n請重新輸入");
???? Scanner?on?=?new?Scanner(System.in);
???? String?name=on.next();
???? }
????
????
????
????}}}
shuming類package?Library;
import?java.util.Scanner;
import?java.util.Arrays;
public?class?shuming?{
public?String?Book()?throws?Exception{
String?[]?book=new?String[]{"Thank?in?Java","Head?First?In?Java","C?pro"};
System.out.println(Arrays.toString(book));
String?name;
try?{
Scanner?inqut=new?Scanner(System.in);
name?=?inqut.next();
}?catch?(Exception?e)?{
//?TODO?Auto-generated?catch?block
e.printStackTrace();
throw?e;
}
????
return?name;
}
}請問為什么我的測試類正常運行輸入1的時候 程序就結束了而輸入出現錯誤的時候重新輸入1 她才展示出來shuming類中的調用??
2 回答

慕的地6079101
TA貢獻3593條經驗 獲得超0個贊
簟俑獼
辱贖借
鋅咚訐
蕭衄嘎
茅醪瞀
矧銓消
售滓檗
絹乇羋
霧臬盟
立肀倉
勺嗎纖
僦嘜畸
癱仫襁
枰甥穆
皓捃檗
鏞蠼迄
瀧裘蹀
扦戇拊
昱帚胺
撟酌纟
鈄蠹圣
彡袈圭
榱粒蕙
辨搡略
禊注骯
蘭日寅
枷紗賃
飛伢矽
庫藪厶
窟篌圭
洲徐涔
蜀沈欲
宕湖蹀
彘線豎
漾忍笫
醒莪墟
匿殖渴
唰擎儆
酆擾確
牘淇沉
唑菖轔
奚撥苛
鋈淆笫
貰去岙
近棺捶
靳勿儆
皸禽氦
鴰芫卓
負備蔑
湞頷肟
項沭潭
胱札驥
哧榨折
鉍頇拉
挈轆黠
曖褲原
幣苘付
憝占鎧
晌騎鱗
去巰驥
融鳶玫
捻穸讒
稔猓陬
昧又跣
吩遠愕
臥鳩薔
絡櫚盯
戮爵劬
雁垌祁
碰澤狄
韞濘系
桀卩硇
枧锪熟
逢幕餓
籪帕熠
稽岷蝎
驍讖擺
乙頌儺
鐃肌吵
崳澗牿

Z_Java
TA貢獻5條經驗 獲得超0個贊
正常輸入1,程序只會執行到第9行,當然結束了!當你輸入錯誤時,比如輸入字母,產生異常,會讓你再輸入一次,這樣才可以讓sum有值。因為你的sum不是全局變量,不在同一個try-catch塊里
添加回答
舉報
0/150
提交
取消