




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、自考Java語言程序設計(一)第八章Java異常處理及輸入輸出流簡介課后習題 導讀:就愛閱讀網(wǎng)友為您分享以下“自考Java語言程序設計(一)第八章Java異常處理及輸入輸出流簡介課后習題”的資訊,希望對您有所幫助,感謝您對92的支持!更多優(yōu)質自考資料盡在百度貼吧自考樂園俱樂部(/club/5346389)歡迎加入.歡迎交流.止不住的驚喜等著你.自考Java語言程序設計(一)第八章Java異常處理及輸入輸出流簡介課后習題八、Java異常處理及輸入輸出流簡介1列出5個常見的異常。2寫出Java語言的異常處理機制的優(yōu)點。3為什么異常處理技術不應該用于常規(guī)的程序控制?4引起異常產生的條件是什么?5異常
2、沒有被捕獲將會發(fā)生什么?6編寫一個程序,以說明catch(Exception e)如何捕獲各種異常。7下面的代碼段中finally語句塊會被執(zhí)行嗎?public class ExceptionExam3public static void main(String args)tryint a=new int3;System.exit(0);catch(ArrayIndexOutOfBoundsException e)System.out.println(發(fā)生了異常);finallySystem.out.println(Finally);8throws的作用是什么?9應在程序的什么地方使用異常處理
3、?10下面的代碼有什么錯誤嗎?class ExceptionExamthrow new ExceptionExam();11異常類型匹配的處理方式。程序功能:首先輸出“這是一個異常處理的例子”,然后在你程序中主動地產生一個 ArithmeticException 類型被0 除而產生的異常,并用catch 語句捕獲這個異常。最后通過ArithmeticException類的對象e的方法getMessage 給出異常的具體類型并顯示出來。12根據(jù)所給創(chuàng)建自定義異常類的使用格式,編寫一個自定義異常的小程序。13什么叫流?流式輸入輸出有什么特點?14Java流被分為字節(jié)流、字符流兩大流類,兩者有什么區(qū)
4、別?15File類有哪些構造函數(shù)和常用方法?16利用文件輸入輸出流編寫一個實現(xiàn)文件拷貝的程序,源文件名和目標文件名通過命令行參數(shù)傳入。17編寫一個程序,在當前目錄下創(chuàng)建一個子目錄test,在這個新創(chuàng)建的子目錄下創(chuàng)建一個文件,并把這個文件設置成只讀。18位置指針的作用是什么?RandomAccessFile類提供了哪些方法實現(xiàn)對指針的控制?19編寫一個程序,從鍵盤輸入一串字符,統(tǒng)計這串字符中英文字母、數(shù)字、其他符號的字符數(shù)。20編寫一個程序,從鍵盤輸入一串字符,從屏幕輸出并將其存入a.txt文件中。采集者退散21編寫一個程序,從鍵盤輸入10個整數(shù),并將這些數(shù)據(jù)排序后在標準輸出上輸出。參考答案1答
5、:內存耗盡、數(shù)組下標超出邊界、被0除、非法的方法參數(shù)、算法溢出處。來源:考試大的美女編輯們2 答:(1)Java通過面向對象的方法進行異常處理,把各種異常事件進行分類,體現(xiàn)了良好的層次性,提供了良好的接口,這種機制對于具有動態(tài)特 性的復雜提供了強有力的控制方式。(2)Java的異常處理機制使得處理異常的代碼和“常規(guī)”代碼分開,減少了代碼的數(shù)量,增強了程序的可讀性。(3) Java的異常處理機制使得異常事件可以沿調用棧自動向上傳播,而不是C語言中通過函數(shù)的返回值來傳播,這樣可以傳遞更多的信息,并且簡化了代碼的編寫。 (4)由于把事件當成事件處理,利用類的層次性我們可以把多個具有相同父類的異常統(tǒng)一
6、處理,也可以區(qū)分不同的異常分別處理,使用非常靈活。3答:a. 異常處理用于不經常發(fā)生但通常導致程序終止的情況,因此要求編程人員為編譯器的優(yōu)化執(zhí)行實現(xiàn)異常處理。b. 常規(guī)控制結構的控制流程通常比異常的更為清晰、交流更高。c. 在發(fā)生異常,并且沒有釋放異常發(fā)生之前分配的資源時,堆棧是展開的,所以會出現(xiàn)一些問題。d.“額外的”異常會妨礙真正錯誤類型的異常。這種使程序員更難 以跟蹤大量的異常。4答:異常產生的方式有3種。第一種是在某些內部錯誤時,Java虛擬機可以產生異常,該異常不在你的程序控制范圍內,通常不作處理。第二種是由程序代碼中的錯誤引起,這種異常需要你的程序處理。第三種是通過使用throw語
7、句手動生成的異常。5答:未捕獲的異常最終會導致程序非正常終止。6public class ExceptionExampublic static void main(String args)tryint i=0;i=3/i;/將產生算術異常。catch(ArithmeticException e)/找到了匹配的異常,執(zhí)行該catch塊。System.out.println(發(fā)生了ArithmeticException異常);catch(AarryIndexOutOfBoundsException e)/不是匹配的異常,且不會再捕獲/異常,如果發(fā)生數(shù)組索引超出范圍所產生的異常,將執(zhí)行該catch塊
8、。System.out.println(發(fā)生了AarryIndexOutOfBoundsException異常);catch(Exception e)/前兩個catch塊均無法捕獲try塊中發(fā)生的異常時,才會執(zhí)行該catch塊。System.out.println(發(fā)生了異常); finally System.out.println(執(zhí)行d Finally); 7答:無論是出于何種原因,只要執(zhí)行離開try/catch代碼塊,就會執(zhí)行finally代碼塊。即無論try是否正常結束,都會執(zhí)行 finally定義的最后的代碼。如果try代碼塊中的任何代碼或它的任何catch語句從方法返回,也會執(zhí)行f
9、inally代碼塊。但本題中在try代 碼塊中執(zhí)行了“System.exit(0);”語句,執(zhí)行了這一 語句后,Java虛擬機(JVM)將被終止。那么finally語句塊一定不會被執(zhí)行。8答:在某些情況下,如果一個方法產生自己不處理或無法處理的異常,它就必須在throws子句中聲明該異常。9答:通常,可以采用兩種方式來報告錯誤:返回值和異常。在Java中異常處理很常用,雖然返回錯誤代碼在某些情況下是一種有效的方式,但是異常處理可以提供強大的結構化方法來處理異常。所以需要處理代碼中的錯誤時就可以采用異常的方法進行處理。10答:ExceptionExam不是繼承(擴展)Throwable的子類,只
10、有Throwable的子類可以由throw拋出。所以,這一段代碼會出錯。11public class ExceptionExam1public static void main(String args)tryint i=0;i=3/i;catch(ArithmeticException e)System.out.println(異常是:+e.getMessage();finallySystem.out.println(finally 語句被執(zhí)行);注意:如果在catch 語句中聲明的異常類是Exception,catch 語句也能正確地捕獲,這是因為Exception 是ArithmeticE
11、xception 的父類。如果不能確定會發(fā)生哪種情況的異常,那么最好指定catch的參數(shù)為Exception,即說明異常的類型為Exception。12class Excp1 extends Exceptionclass Excp2 extends Excp1public class ExceptionExam7public static void main(String args) throws Exceptiontrythrow new Excp2();catch(Excp2 e)System.out.println(catch1);throw new Excp1();catch(Excp
12、1 e)System.out.println(catch2);throw new Exception();catch(Exception e)System.out.println(catch3);finallySystem.out.println(finally);說明:自定義異常類,關鍵是選擇繼承的超類必須是Exception或者其子類。用異常代表錯誤,而不要再使用方法返回值。13答:所謂流是指同一臺計算機或網(wǎng)絡中不同計算機之間有序運動著的數(shù)據(jù)序列,Java把這些不同來源和目標的數(shù)據(jù)都統(tǒng)一抽象為數(shù)據(jù)流。數(shù)據(jù)流可分為輸入流和輸出流,輸入流代表從其他設備流入計算機的數(shù)據(jù)序列,輸出流代表從計算機流
13、向外部設備的數(shù)據(jù)序列。流式輸入輸出的特點是數(shù)據(jù)的獲取和發(fā)送沿數(shù)據(jù)序列的順序進行,即每一個數(shù)據(jù)都必須等待排在它前面的數(shù)據(jù),等前面的數(shù)據(jù)讀入或送出之后才能被讀寫。所以流和隊列一樣,只能以“先進先出”的方式對其中的數(shù)據(jù)進行讀寫,而不能隨意選擇讀寫的位置。14答:兩者 都作為Object類的直接子類,基本輸入流(無效Stream)和基本輸出流(OutputStream)是處理以8位字節(jié)為基本單位的字節(jié)流類;Reader和Writer類是專門處理16位字符流的類。15答:構造函數(shù)有:(1)public File(String pathname):創(chuàng)建一個對應于參數(shù)pathname的File類對象。參數(shù)p
14、athname是包含目錄和文件名的字符串。如果沒有文件名,則代表目錄。(2)public File(String parent , String child):該構造函數(shù)將pathname分成兩部分parent和child,參數(shù)parent表示目錄或文件所在路徑,參數(shù)child表示目錄或文件名稱。(3)public File(File parent, String child):該構造函數(shù)與上面一個不同在于將parent的參數(shù)類型由String變?yōu)镕ile,代表parent是一個已經創(chuàng)建的File類文件對象(指向目錄)。常用方法有:(1)public boolean canWrite( ):返
15、回文件是否可寫。(2)public boolean canRead( ):返回文件是否可讀。(3)public boolean createNewFile( ):當文件不存在時創(chuàng)建文件。16import java.io.*;class CopyFilepublic static void main(String args) String file1,file2 ;int ch = 0 ;try file1=args0;file2=args1;File無效Stream fis = new File無效Stream(file1);FileOutputStream fos=new FileOutpu
16、tStream(file2);while (ch=fis.read()!=-1)fos.write(ch);fis.close();fos.close();catch(FileNotFoundException e)System.out.println(源文件:未找到!);catch(ArrayIndexOutOfBoundsException e)System.out.println(缺少運行參數(shù)!);System.exit(-1);catch (IOException e)System.out.println(e.toString();17答:import java.io.*;public class NewFilepublic static void main(String args)File f=new File(test);if(f.exists()&f.isDirectory()System.err.println(目錄:+f.toString()+已經存在!);elseif(f.mkdir()System.out.println(目錄+f.getAbsolutePath()+創(chuàng)建結束!);File f2=new File(f,my.txt);tryf2.createNewFile();f2.setReadOnly();catch(IOException e)S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程居間合同書
- 婚姻介紹擔保合同
- 小區(qū)物業(yè)管理商鋪服務合同
- 房屋買賣居間服務合同協(xié)議書
- 房屋委托居間出租合同
- 房子裝修維修工程合同
- 消防工程三方合同
- 房屋外墻維修合同協(xié)議書
- 消納合同附加協(xié)議
- 醫(yī)院合同解除協(xié)議
- GB/T 17421.2-2000機床檢驗通則第2部分:數(shù)控軸線的定位精度和重復定位精度的確定
- GB/T 17311-1998標準音量表
- GB/T 11982.2-2015聚氯乙烯卷材地板第2部分:同質聚氯乙烯卷材地板
- 耳鼻咽喉15種臨床路徑(整理完整版)
- 110KV 線路保護調試報告
- Xie-AI-第2章-知識表示方法
- 侵權責任法數(shù)人侵權課件
- 不合格產品審理系統(tǒng)
- 個人所得稅申報實操講解課件
- 移動設備小型設備施工方案
- 2023年六安城市建設投資有限公司招聘筆試題庫及答案解析
評論
0/150
提交評論