版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)學與計算科學學院實 驗 報 告實驗項目名稱 JAVA調(diào)試環(huán)境及異常處理程序 所屬課程名稱 面向?qū)ο蠹夹g(shù) 實 驗 類 型 設(shè)計型 實 驗 日 期 2014. 4. 1 班 級 信計12-2 學 號 0 姓 名 馬新宇 成 績 一、實驗概述:【實驗目的】1.了解Java語言的特點;熟悉Java編譯和類加載的命令。2.掌握Java簡單程序的編寫。3.掌握Java Applet程序的調(diào)試與實現(xiàn)。4.掌握Java異常的概念及分類 。5.掌握拋出異常語句的使用(throw)及捕捉處理異常語句的使用(trycatch)。6.掌握上拋異常語句的使用(throws)。7.掌握自定義異
2、常類的創(chuàng)建方法?!緦嶒炘怼?.含有Applet的網(wǎng)頁的HTML文件代碼中部帶有<applet> 和</applet>這樣一對標記,支持Java的網(wǎng)絡(luò)瀏覽器遇到這對標記時,就將下載相應(yīng)的小應(yīng)用程序代碼并在本地計算機上執(zhí)行該Applet。Java Applet 是用Java 語言編寫的一些小應(yīng)用程序,這些程序是直接嵌入到頁面中,由支持Java的瀏覽器(IE 或 Netscape)解釋執(zhí)行能夠產(chǎn)生特殊效果的程序。當Applet用戶訪問這樣的網(wǎng)頁時,Applet被下載到用戶的計算機上執(zhí)行,但前提是用戶使用的是支持Java的網(wǎng)絡(luò)瀏覽器。由于Applet是在用戶的計算機上執(zhí)行的,
3、所以它的執(zhí)行速度受網(wǎng)絡(luò)帶寬或者Modem存取速度的限制,用戶可以更好地欣賞網(wǎng)頁上Applet產(chǎn)生的多媒體效果。2.Java中,類加載器把一個類裝入Java虛擬機需要經(jīng)過三個步驟來完成:裝載:查找和導入.class文件鏈接:檢查裝入.class文件的正確性,然后,Java虛擬機為變量分配內(nèi)存,設(shè)置默認值初始化:把符號引用變成直接引用。3.每當產(chǎn)生異常后,如果沒有程序進行相應(yīng)的處理,則程序會中斷的現(xiàn)象。那么,此時實際上一旦產(chǎn)生一個異常之后,JVM會拋出一個異常類的實例化對象,如果此時使用了try語句進行捕獲的話,則可以進行異常處理,如果沒有的話,則交給JVM進行處理,當try語句捕獲到了異常之后,
4、會與catch中的異常類型進行匹配,如果匹配成功,則使用此catch語句進行處理?!緦嶒灜h(huán)境】Microsoft windows XP professionalMicrosoft office 2007Microsoft visual j+6.0JDK二、實驗內(nèi)容:【實驗方案】1.建立class student類,用于輸入學生相關(guān)信息,類中包括姓名、學號、年齡,還定義三個方法:姓名輸入的方法void setName(String y)、學號輸入方法void setId(int x)及輸出方法public String toString()2.定義主類public class AA extend
5、s Applet implements ActionListener,調(diào)用了public void init()對輸入輸出界面進行處理,public void actionPerformed(ActionEvent e)方法用于顯示相關(guān)界面3.用JDK 6.0環(huán)境建立連續(xù)空間,編譯程序。自定義一個異常類,處理用戶程序中特定的邏輯運行錯誤。用try塊定義可能出現(xiàn)的異常,用catch語句捕捉和處理try塊中的異常語句。try 可能拋出異常語句;catch異常處理語句組;【實驗過程】(實驗步驟、記錄、數(shù)據(jù)、分析)1.在桌面建立自己的工作目錄;2.啟用j+6.0開發(fā)軟件,創(chuàng)建j+工程并命名,當進入編輯
6、窗口時,先進行保存操作,存于桌面自己創(chuàng)建的工作目錄,該文件名必須與主類名相同,即WE.java,然后才編寫Java Applet程序;3.測試Java Applet程序,源代碼程序編譯如果出錯,按出錯信息查找源文件中的錯誤并進行修改。修改后又重新運行該命令進行重新編譯,直到編譯成功。編譯好以后的程序:import java.applet.* ;import java.awt.* ;import java.awt.event.* ;public class WE extends Applet implements ActionListener Label pr1,pr2,pr3; TextFie
7、ld t1,t2,t3; Button b; Student s; String msg; public void init() pr1=new Label("姓名:"); pr2=new Label("學號:"); pr3=new Label("年齡:"); t1=new TextField(8); t2=new TextField(8); t2=new TextField(8); b=new Button("確定"); b.addActionListener (this); add(pr1);add(t1);
8、add(pr2);add(t2); add(pr3);add(t3); add(b); s=new Student(); msg="" public void actionPerformed(ActionEvent e) s.setId(Integer.parseInt(t2.getText();msg=s.toString();repaint(); public void paint(Graphics g) g.drawString(msg,100,100); class Student String name;long id;int age;void setId(int
9、 x) id=x; void setAge(int z) Age=z; public String toString() return" 姓名:"+name+ " 學號:"+id+ " 年齡: "+age; import java.applet.*;import java.awt.*;import java.awt.event.*;public class WE extends Applet implements ActionListenerLabel pr1,pr2;TextField t1,t2;Button b;Student
10、s;String msg;public void init()pr1=new Label("姓名:");pr2=new Label("學號:");t1=new TextField(7);t2=new TextField(7);b=new Button("OK");b.addActionListener(this);add(pr1);add(t1);add(pr2);add(t2);add(b);s=new Student();msg=""public void actionPerformed(ActionEvent
11、 e) s.setId(Integer.parseInt(t2.getText();msg=s.toString();repaint(); public void paint(Graphics g) g.drawString(msg,100,100); class Student String name;long id;int age;void setId(int x) id=x;public String toString()return"姓名:"+name+" 學號:"+id;class NegativeException extends Excep
12、tion4.然而編寫好的程序并不完全,比如說學號輸入為零或負數(shù)時,會照原樣輸出;學號輸入字符時,程序卻沒反應(yīng) 。這并不適合我們的使用,為此,我們使用java提供的異常類,使程序更完善。Java提供了異常處理機制,當程序中發(fā)生異常時,程序產(chǎn)生一個異常事件,相應(yīng)地生成異常對象。系統(tǒng)從生成對象的代碼開始,沿方法的調(diào)用棧逐層回溯,尋找相應(yīng)的處理代碼,并把異常對象交給該方法處理。運行程序發(fā)現(xiàn)在學號輸入框中輸入字符時,程序無反應(yīng)。分析源代碼s.setId(Integer.parseInt(t1.getText();可知執(zhí)行時會出現(xiàn)NumberFormatException異常。修改程序為public vo
13、id actionPerformed(ActionEvent e)Try s.setId(Integer.parseInt(t2.getText();msg=s.toString(); catch(NumberFormatException ee)msg="學號必須是數(shù)字!"try塊啟動Java的異常處理機制,catch接收try塊中可能產(chǎn)生的異常。對于輸入負數(shù),輸出也是這個負數(shù)的情況,需要自己定義異常類class NegativeException extends Exception學號輸入出也相應(yīng)改變?yōu)関oid setId(int x) throws NegativeE
14、xceptionif(x>0)id=x;else throw new NegativeException();程序出再添加個catch語句,如下所示: public void actionPerformed(ActionEvent e) trys.setId(Integer.parseInt(t2.getText();msg=s.toString(); catch(NumberFormatException ee)msg="學號必須是數(shù)字!" catch(NegativeException ee)msg="學號必須是正整數(shù)!"這樣修改后,輸入為負數(shù)
15、時,就會輸出一句話:學號必須是正整數(shù)!【實驗結(jié)論】(結(jié)果)1.登陸界面如下圖:2.當學號輸入字符(如kjh)時,程序輸出一句:學號必須是數(shù)字! 3.學號輸入為負數(shù)(如-1000)時,輸出就會使一句話:學號必須是正整數(shù)!4.正確輸入界面如下:【實驗小結(jié)】(收獲體會) 這次實驗還讓我熟悉了JAVA的運用,讓我對這門課程和這個軟件有了更好的認識,也讓我明白了程序應(yīng)該盡可能的適應(yīng)用戶,應(yīng)該以人為本,畢竟人才是程序的主導,程序應(yīng)該根據(jù)人來改變。 三、指導教師評語及成績:評 語評語等級優(yōu)良中及格不及格1.實驗報告按時完成,字跡清楚,文字敘述流暢,邏輯性強2.實驗方案設(shè)計合理3.實驗過程(實驗步驟詳細,記錄
16、完整,數(shù)據(jù)合理,分析透徹)4實驗結(jié)論正確. 成 績: 指導教師簽名: 批閱日期:附錄1:源 程 序import java.applet.*;import java.awt.*;import java.awt.event.*;public class WE extends Applet implements ActionListenerLabel pr1,pr2;TextField t1,t2;Button b;Student s;String msg;public void init()pr1=new Label("姓名:");pr2=new Label("學號:
17、");t1=new TextField(7);t2=new TextField(7);b=new Button("OK");b.addActionListener(this);add(pr1);add(t1);add(pr2);add(t2);add(b);s=new Student();msg=""public void actionPerformed(ActionEvent e)trys.setId(Integer.parseInt(t2.getText();msg=s.toString();catch(NumberFormatException ee)msg="學號必須是數(shù)字!"catch(NegativeException ee)msg="學號必須是正整數(shù)!"=t1.getText();repaint();public void paint(Graphics g)g.dr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023屆新高考化學一輪課時跟蹤練第28講難溶電解質(zhì)的溶解平衡
- 2023屆新高考化學一輪復習烴的含氧衍生物提能力
- 2025年中國汽車減震器行業(yè)研究報告:市場規(guī)模、供需態(tài)勢、發(fā)展前景預測
- 網(wǎng)絡(luò)優(yōu)化工程師培訓
- 私人三輪車買賣合同范本
- 2023年張家口崇禮太子城國際冰雪小鎮(zhèn)管理委員會專項招聘事業(yè)單位工作人員考試真題
- 鄭州餐飲連鎖加盟合同范本
- 2023年揚州市江都區(qū)衛(wèi)生健康系統(tǒng)事業(yè)單位招聘專業(yè)技術(shù)人員考試真題
- 2023年麗水市龍泉市招聘專職社區(qū)工作者考試真題
- 2023年黑河市市直事業(yè)單位選調(diào)工作人員考試真題
- 2024新老物業(yè)移交協(xié)議
- 在線網(wǎng)課知道智慧《電路(1)(山大)》單元測試考核答案
- 不履行合同義務(wù)催告函范文
- 小學二年級上冊數(shù)學-數(shù)角的個數(shù)專項練習
- 項目目標成本測算書樣表
- 小學課外閱讀案例分析
- 家長會課件:小學四年級數(shù)學期中家長會課件
- 《煤礦重大危險源評估報告》
- 職業(yè)生涯規(guī)劃概述課件
- 人教版六年級數(shù)學上冊《全冊》完整版課件
- 航空氦(HE)光泵磁力儀項目綜合評估報告
評論
0/150
提交評論