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

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

關于圖書借閱系統的問題

關于圖書借閱系統的問題

hy_wang 2017-07-27 14:27:49
測試類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 回答

?
Z_Java

TA貢獻5條經驗 獲得超0個贊

補充:你代碼寫的就有問題,你為什么要把switch-case寫到catch里,這不是用戶先輸入錯誤么。。。

查看完整回答
反對 回復 2017-07-27
  • hy_wang
    hy_wang
    我的sum在main方法里是局部變量 ,應該main方法中都可以使用啊。請問為什么到了try中就不能使用了
  • Z_Java
    Z_Java
    你的sum不是mian里的局部變量,而是catch塊的局部變量
?
Z_Java

TA貢獻5條經驗 獲得超0個贊

正常輸入1,程序只會執行到第9行,當然結束了!當你輸入錯誤時,比如輸入字母,產生異常,會讓你再輸入一次,這樣才可以讓sum有值。因為你的sum不是全局變量,不在同一個try-catch塊里

查看完整回答
反對 回復 2017-07-27
  • hy_wang
    hy_wang
    你好,但是我把switch語句改到try里還是不行啊
?
qq_hellohellola_03814043

TA貢獻30條經驗 獲得超21個贊

等于1→break?

查看完整回答
反對 回復 2017-07-27
  • hy_wang
    hy_wang
    與break沒有什么大關系,這里的break只是滿足case1中結束switch語句。 及時取掉break程序還是沒有繼續運行
  • weibo_歌笠橫_0
    weibo_歌笠橫_0
    你這代碼為什么執著與trycatch呢,你的這些代碼其實并不用異常什么的,有幾個判斷語句足夠了,還有就是你的代碼邏輯很亂,無緣無故抓什么異常,為了使代碼看起來高大尚一點? 異常是你有必要的時候才用的,你好好看一下api,一般什么時候用異常,不要為了用而用,牛頭不對馬嘴,徒增笑話。
  • 2 回答
  • 1 關注
  • 2058 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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