201521123087 《Java程序设计》第9周学习总结
生活随笔
收集整理的這篇文章主要介紹了
201521123087 《Java程序设计》第9周学习总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 本周學習總結
?
2. 書
?
面作業(yè)
本次PTA作業(yè)題集異常
題目5-1
1.1 截圖你的提交結果(出現學號)
1.2 自己以前編寫的代碼中經常出現什么異常、需要捕獲嗎(為什么)?應如何避免? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?答:自己以前編寫的代碼經常出現異常就是數組越界,無需使用try-catch進行捕獲處理,我們編寫代碼時應避免下標越界。
1.3 什么樣的異常要求用戶一定要使用捕獲處理? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?答:除了`Error`與`RuntimeException`及其子類的以外的都屬于`Checked Exception`,需要用`try-catch`捕獲來處理。
題目5-2
2.1 截圖你的提交結果(出現學號) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
2.2 實驗總結
題目5-3
3.1 截圖你的提交結果(出現學號)
3.2 閱讀Integer.parsetInt源代碼,結合3.1說說拋出異常時需要傳遞給調用者一些什么信息?
題目4-1(多種異常的捕獲)
3.1 截圖你的提交結果(出現學號)
3.2 一個try塊中如果可能拋出多種異常,捕獲時需要注意些什么?
為如下代碼加上異常處理
byte[] content = null; FileInputStream fis = new FileInputStream("testfis.txt"); int bytesAvailabe = fis.available();//獲得該文件可用的字節(jié)數 if(bytesAvailabe>0){ content = new byte[bytesAvailabe];//創(chuàng)建可容納文件大小的數組 fis.read(content);//將文件內容讀入數組 } System.out.println(Arrays.toString(content));//打印數組內容 5.1 改正代碼,讓其可正常運行。注1:里面有多個方法均可能拋出異常。注2:要使用finally關閉資源。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?答: public static void main(String[] args) throws IOException { // TODO Auto-generated method stub byte[] content = null; FileInputStream fis=null; try{ fis = new FileInputStream("testfis.txt"); int bytesAvailabe = fis.available();//獲得該文件可用的字節(jié)數 if(bytesAvailabe>0){ content = new byte[bytesAvailabe];//創(chuàng)建可容納文件大小的數組 fis.read(content);//將文件內容讀入數組 } System.out.println(Arrays.toString(content));//打印數組內容 } catch(IOException e){ System.out.println(e); } finally{ if(fis!=null){ fis.close(); } } } 5.2 使用Java7中的try-with-resources來改寫上述代碼實現自動關閉資源. ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?答: public static void main(String[] args) throws IOException { // TODO Auto-generated method stub byte[] content = null; try(FileInputStream fis=new FileInputStream("testfis.txt")){ int bytesAvailabe = fis.available();//獲得該文件可用的字節(jié)數 if(bytesAvailabe>0){ content = new byte[bytesAvailabe];//創(chuàng)建可容納文件大小的數組 fis.read(content);//將文件內容讀入數組 } System.out.println(Arrays.toString(content));//打印數組內容 } catch(IOException e){ System.out.println(e); } }舉至少兩個例子說明你是如何使用異常處理機制讓你的程序變得更健壯。
說明要包含2個部分:1. 問題說明(哪里會碰到異常)。2.解決方案(關鍵代碼) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 答: (1)問題說明:當瀏覽到喜歡的商品想添加入購物車時,如果該商品售完,應該捕獲異常,并說明商品已售完解決方案:ArrayList<Product> prolist = new ArrayList<Product>();public void addpro(Product pro){ try{ prolist.add(pro); }catch(NullPointerException e){ System.out.println("None of the Product?"); } } (2)問題說明:輸入選擇添加商品的序號時當輸入為字符串時,需要拋出輸入格需要對輸入的格式進行異常的捕獲解決方案:System.out.println(Arrays.toString(p)); System.out.println("選擇添加商品序號:"); try{ switch (sc.nextInt()) { case 1: { cart.addpro(p[0]); } case 2: { cart.addpro(p[1]); break; } case 3: { cart.addpro(p[2]); break; } } menu(cart, p); }catch(NumberFormatException e){ menu(cart,p); }
3. 碼云上代碼提交記錄
3.1. 碼云代碼提交記錄
?
轉載于:https://www.cnblogs.com/jbc1132/p/6749124.html
總結
以上是生活随笔為你收集整理的201521123087 《Java程序设计》第9周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于继承构造器的调用
- 下一篇: React.js核心原理实现:首次渲染机