1. 程式人生 > >201621123054《java程序設計》第十次作業

201621123054《java程序設計》第十次作業

資源 sources arrays 歸納 puts 用戶 融合 commit sta

  1. 本周學習總結

1.1 以你喜歡的方式(思維導圖或其他)歸納總結異常相關內容。

  1. 書面作業

本次PTA作業題集異常

  1. 常用異常

結合題集題目7-1回答
1.1 自己以前編寫的代碼中經常出現什麽異常、需要捕獲嗎(為什麽)?應如何避免?
1.2 什麽樣的異常要求用戶一定要使用捕獲處理?

  1. 處理異常使你的程序更加健壯

題集題目7-2
2.1 實驗總結。並回答:怎麽樣才能讓你的程序更加健壯?

  1. throw與throws

題集題目7-3
閱讀Integer.parsetInt源代碼
3.1 Integer.parsetInt一開始就有大量的拋出異常的代碼,這種做法有什麽好處?
3.2 結合自己編寫的程序與3.1,分析自己編寫的方法拋出異常時一般需要傳遞給調用者一些什麽信息?

  1. 用異常改進ArrayIntegerStack

題集題目6-3
4.1 結合6-3代碼,回答使用拋出異常的方式代表程序運行時出錯有什麽好處?比單純的返回錯誤值,有何優點?
4.2 如果一個方法內部的內碼拋出的是RuntimeException類型的異常,那麽方法聲明是否應該使用throws關鍵字,如果使用throws關鍵字聲明該方法拋出的異常,能給我們帶來什麽好處嗎?

  1. 函數題-多種異常的捕獲

題集題目6-1
5.1 結合6-1代碼,回答:一個try塊中如果可能拋出多種異常,且異常之間可能有繼承關系,捕獲時需要註意些什麽?
5.2 一個try塊中如果可能拋出多種異常,使用Java8的多重異常捕獲語法需要註意些什麽?

  1. 為如下代碼加上異常處理

byte[] content = null;
FileInputStream fis = new FileInputStream("testfis.txt");
int bytesAvailabe = fis.available();//獲得該文件可用的字節數
if(bytesAvailabe>0){
content = new byte[bytesAvailabe];//創建可容納文件大小的數組
fis.read(content);//將文件內容讀入數組
}
System.out.println(Arrays.toString(content));//打印數組內容
6.1 改正代碼,並增加如下功能。當找不到文件時,需提示用戶找不到文件xxx,請重新輸入文件名,然後嘗試重新打開。 如果是其他異常則提示打開或讀取文件失敗!。
註1:裏面有多個方法均可能拋出異常。
功能2:需要添加finally關閉文件。無論上面的代碼是否產生異常,總要提示關閉文件ing。如果關閉文件失敗,提示關閉文件失敗!
6.2 結合題集6-2代碼,要將什麽樣操作放在finally塊?為什麽?使用finally關閉資源需要註意一些什麽?
6.3 使用Java7中的try-with-resources來改寫上述代碼實現自動關閉資源。簡述這種方法有何好處?

  1. 面向對象設計作業-圖書館管理系統(分組完成,每組不超過3個同學)

登錄lib.jmu.edu.cn,對圖書進行搜索。然後登錄圖書館信息系統,查看我的圖書館。如果讓你實現一個圖書借閱系統,嘗試使用面向對象建模。
7.1 該系統的使用者有誰?
7.2 主要功能模塊(不要太多)及每個模塊的負責人。下周每個人要提交自己負責的模塊代碼及運行視頻。
7.3 該系統的主要的類設計及類圖(可用)
7.4 你準備如何存儲圖書信息、解決信息、讀者信息等。

  1. 選做:使用異常改進你的購物車系統

舉1個例子說明你是如何使用異常處理機制讓你的程序變得更健壯。
說明要包含2個部分:1. 問題說明(哪裏會碰到異常)。2.解決方案(關鍵代碼)

  1. 選做:使用靜態代碼掃描工具 掃描自己的購物車代碼

8.1 分析自己代碼中在規範方面出現的問題。
8.2 思考如何解決這些問題。

3.碼雲及PTA

題目集:異常

3.1. 碼雲代碼提交記錄

在碼雲的項目中,依次選擇“統計-Commits歷史-設置時間段”, 然後搜索並截圖
3.2 截圖PTA題集完成情況圖

需要有兩張圖(1. 排名圖。2.PTA提交列表圖)

3.3 統計本周完成的代碼量

需要將每周的代碼統計情況融合到一張表中。

選做:4. 拓展

課外練習

JavaTutorial中Questions and Exercises
練習總結

課外閱讀

任選下面一篇文章閱讀,列舉出幾點自己能理解的異常處理最佳實踐。
Best Practices for Exception Handling
Exception-Handling Antipatterns Blog
The exceptions debate

選做:5.使用Java解決實際問題(考勤自動統計)

協會簽到,每次都是使用紙質簽名表進行簽到,回去後再手動統計。如果有多張簽名表,需要手動統計。現在保持紙質簽名方式不變,負責人員每次將紙質簽名表待會後手動錄入系統,這樣就可實現數據的自動統計。實現這樣的系統需包含什麽功能模塊?嘗試編碼實現?

201621123054《java程序設計》第十次作業