java程序設(shè)計(jì)_試驗(yàn)5學(xué)生版_第1頁
java程序設(shè)計(jì)_試驗(yàn)5學(xué)生版_第2頁
java程序設(shè)計(jì)_試驗(yàn)5學(xué)生版_第3頁
java程序設(shè)計(jì)_試驗(yàn)5學(xué)生版_第4頁
java程序設(shè)計(jì)_試驗(yàn)5學(xué)生版_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、-. z.華北電力大學(xué)實(shí) 驗(yàn) 報(bào) 告|實(shí)驗(yàn)名稱異常的拋出、捕獲和處理課程名稱Java程序設(shè)計(jì)|專業(yè)班級(jí): 學(xué)生*:學(xué) 號(hào): 成 績:指導(dǎo)教師:*學(xué)斌 實(shí)驗(yàn)日期: -. z.一、實(shí)驗(yàn)?zāi)康暮鸵?了解程序運(yùn)行過程中出現(xiàn)的各種錯(cuò)誤,針對(duì)不同的錯(cuò)誤,采取不同的手段排除錯(cuò)誤2 理解異常處理機(jī)制的運(yùn)行方式3 掌握J(rèn)ava異常處理的根本方法二、實(shí)驗(yàn)環(huán)境Windows2000/Windows *P,JDK 1.21.6三、實(shí)驗(yàn)內(nèi)容和步驟 實(shí)驗(yàn)1 內(nèi)部購物券1.實(shí)驗(yàn)要求手機(jī)專賣店為了促銷自己的產(chǎn)品,決定發(fā)行內(nèi)部購物券,但其他商場(chǎng)不能發(fā)行該購物券。編寫一個(gè)MobileShop類模擬手機(jī)專賣店,該類中有一個(gè)名字為I

2、nnerPurchaseMoney的內(nèi)部類模擬內(nèi)部購物券。2.程序模板NewYear.javaclass MobileShop 【代碼1】/用內(nèi)部類InnerPurchaseMoney聲明對(duì)象purchaseMoney1 【代碼2】 /用內(nèi)部類InnerPurchaseMoney聲明對(duì)象purchaseMoney1 private int mobileAmount; /手機(jī)的數(shù)量 MobileShop() 【代碼3】 /創(chuàng)立價(jià)值為20000的purchaseMoney1 【代碼4】 /創(chuàng)立價(jià)值為10000的purchaseMoney2 void setMobileAmount(int m) m

3、obileAmount = m; int getMobileAmount() return mobileAmount; class InnerPurchaseMoney int moneyValue; InnerPurchaseMoney(int m) moneyValue = m; void buyMobile() if(moneyValue=20000) mobileAmount = mobileAmount-6; System.out.println(用價(jià)值+moneyValue+的內(nèi)部購物卷買了6部手機(jī)); else if(moneyValue=10000) mobileAmount

4、= mobileAmount-3; System.out.println(用價(jià)值+moneyValue+的內(nèi)部購物卷買了3部手機(jī)); public class NewYear public static void main(String args) MobileShop shop = new MobileShop(); shop.setMobileAmount(30); System.out.println(手機(jī)專賣店目前有+shop.getMobileAmount()+部手機(jī));uyMobile(); shop.purchaseMoney2.buyMobile(); System.out.p

5、rintln(手機(jī)專賣店目前有+shop.getMobileAmount()+部手機(jī)); 實(shí)驗(yàn)2 檢查危險(xiǎn)品1.實(shí)驗(yàn)要求: 車站檢查危險(xiǎn)品的設(shè)備,如果發(fā)現(xiàn)危險(xiǎn)品會(huì)發(fā)出警告。編程模擬設(shè)備發(fā)現(xiàn)危險(xiǎn)品。 編寫一個(gè)E*ception的子類DangerE*ception,該子類可以創(chuàng)立異常對(duì)象,該異常對(duì)象調(diào)用toShow()方法輸出“屬于危險(xiǎn)品。 編寫一個(gè)Machine類,該類的方法checkBag(Goods goods)當(dāng)發(fā)現(xiàn)參數(shù)goods是危險(xiǎn)品時(shí)goods的isDanger屬性是true將拋出DangerE*ception異常。 程序在主類main()方法中的try-catch語句的try局部讓

6、Machine類的實(shí)例調(diào)用checkBag(Goods goods)方法,如果發(fā)現(xiàn)危險(xiǎn)品就在try-catch語句的catch局部處理危險(xiǎn)品。2.程序模板 Check.javapublic class Check public static void main(String args) Machine machine = new Machine(); String name =蘋果,炸藥,西服,硫酸,手表,硫磺; Goods goods = new Goodsname.length; /檢查6件貨物 for(int i= 0;iname.length;i+) goodsi = new Good

7、s(); if(i%2=0) goodsi.setIsDanger(false); goodsi.setName(namei); else goodsi.setIsDanger(true); goodsi.setName(namei); for(int i= 0;igoods.length;i+) try machine.checkBag(goodsi); System.out.println(goodsi.getName()+檢查通過); catch(DangerE*ception e) 【代碼2】 /e調(diào)用toShow()方法 System.out.println(goodsi.getNa

8、me()+被制止!); DangerE*ception.javapublic class DangerE*ception e*tends E*ception String message; public DangerE*ception() message = 危險(xiǎn)品!; public void toShow() System.out.print(message+ ); Goods.java public class Goods boolean isDanger; String name; public void setIsDanger(boolean boo) isDanger = boo;

9、public boolean isDanger() return isDanger; public void setName(String s) name = s; public String getName() return name; Machine.javapublic class Machine public void checkBag(Goods goods) throws DangerE*ception if(goods.isDanger() DangerE*ception danger=new DangerE*ception(); 【代碼1】 /拋出danger else Sys

10、tem.out.print(goods.getName()+不是危險(xiǎn)品! ); 實(shí)驗(yàn)3 自定義異常類實(shí)驗(yàn)要求聲明兩個(gè)E*ception的異常子類:NoLowerLetter類和NoDigit類。再聲明一個(gè)people類,該類中的void printLetter(char c )方法拋出NoLowerLetter異常類對(duì)象,void printDigit(char c ) 方法拋出NoDigit異常類對(duì)象。實(shí)驗(yàn)?zāi)0錏*ceptionE*ample.java【代碼1】 / 類聲明,聲明一個(gè)E*ception的子類NoLowerLetter public void print() System.ou

11、t.printf(%c,#); 【代碼2】 / 類聲明,聲明一個(gè)E*ception的子類NoDigit public void print() System.out.printf(%c,*); class People void printLetter(char c) throws NoLowerLetter if(cz) NoLowerLetter noLowerLetter=【代碼3】 / 創(chuàng)立NoLowerLetter類型對(duì)象 【代碼4】 / 拋出noLowerLetter else System.out.print(c); void printDigit(char c) throws NoDigit if(c9) NoDigit noDigit=【代碼5】 / 創(chuàng)立NoDigit()類型對(duì)象 【代碼6】 / 拋出noDigit else System.out.print(c); public class E*ceptionE*ample public static void main (String args ) People people

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論