Java程序设计-试验5(学生版)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

华北电力大学实验报告||实验名称异常的抛出、捕获和处理课程名称Java程序设计||专业班级:学生姓名:学号:成绩:指导教师:张学斌实验日期:华北电力大学实验报告第2页共7页一、实验目的和要求1了解程序运行过程中出现的各种错误,针对不同的错误,采取不同的手段排除错误2理解异常处理机制的运行方式3掌握Java异常处理的基本方法二、实验环境Windows2000/WindowsXP,JDK1.2~1.6三、实验内容和步骤实验1内部购物券1.实验要求手机专卖店为了促销自己的产品,决定发行内部购物券,但其他商场不能发行该购物券。编写一个MobileShop类(模拟手机专卖店),该类中有一个名字为InnerPurchaseMoney的内部类(模拟内部购物券)。2.程序模板NewYear.javaclassMobileShop{【代码1】//用内部类InnerPurchaseMoney声明对象purchaseMoney1【代码2】//用内部类InnerPurchaseMoney声明对象purchaseMoney1privateintmobileAmount;//手机的数量MobileShop(){【代码3】//创建价值为20000的purchaseMoney1【代码4】//创建价值为10000的purchaseMoney2}voidsetMobileAmount(intm){mobileAmount=m;}intgetMobileAmount(){returnmobileAmount;}classInnerPurchaseMoney{intmoneyValue;InnerPurchaseMoney(intm){moneyValue=m;}voidbuyMobile(){if(moneyValue=20000){mobileAmount=mobileAmount-6;System.out.println(用价值+moneyValue+的内部购物卷买了6部手机);}华北电力大学实验报告第3页共7页elseif(moneyValue20000&&moneyValue=10000){mobileAmount=mobileAmount-3;System.out.println(用价值+moneyValue+的内部购物卷买了3部手机);}}}}publicclassNewYear{publicstaticvoidmain(Stringargs[]){MobileShopshop=newMobileShop();shop.setMobileAmount(30);System.out.println(手机专卖店目前有+shop.getMobileAmount()+部手机);shop.purchaseMoney1.buyMobile();shop.purchaseMoney2.buyMobile();System.out.println(手机专卖店目前有+shop.getMobileAmount()+部手机);}}实验2检查危险品1.实验要求:车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品。编写一个Exception的子类DangerException,该子类可以创建异常对象,该异常对象调用toShow()方法输出“属于危险品”。编写一个Machine类,该类的方法checkBag(Goodsgoods)当发现参数goods是危险品时(goods的isDanger属性是true)将抛出DangerException异常。程序在主类main()方法中的try-catch语句的try部分让Machine类的实例调用checkBag(Goodsgoods)方法,如果发现危险品就在try-catch语句的catch部分处理危险品。2.程序模板Check.javapublicclassCheck{publicstaticvoidmain(Stringargs[]){Machinemachine=newMachine();Stringname[]={苹果,炸药,西服,硫酸,手表,硫磺};Goods[]goods=newGoods[name.length];//检查6件货物for(inti=0;iname.length;i++){goods[i]=newGoods();if(i%2==0){goods[i].setIsDanger(false);goods[i].setName(name[i]);}else{华北电力大学实验报告第4页共7页goods[i].setIsDanger(true);goods[i].setName(name[i]);}}for(inti=0;igoods.length;i++){try{machine.checkBag(goods[i]);System.out.println(goods[i].getName()+检查通过);}catch(DangerExceptione){【代码2】//e调用toShow()方法System.out.println(goods[i].getName()+被禁止!);}}}}DangerException.javapublicclassDangerExceptionextendsException{Stringmessage;publicDangerException(){message=危险品!;}publicvoidtoShow(){System.out.print(message+);}}Goods.javapublicclassGoods{booleanisDanger;Stringname;publicvoidsetIsDanger(booleanboo){isDanger=boo;}publicbooleanisDanger(){returnisDanger;}publicvoidsetName(Strings){name=s;}publicStringgetName(){returnname;}}Machine.javapublicclassMachine{华北电力大学实验报告第5页共7页publicvoidcheckBag(Goodsgoods)throwsDangerException{if(goods.isDanger()){DangerExceptiondanger=newDangerException();【代码1】//抛出danger}else{System.out.print(goods.getName()+不是危险品!);}}}实验3自定义异常类1.实验要求声明两个Exception的异常子类:NoLowerLetter类和NoDigit类。再声明一个people类,该类中的voidprintLetter(charc)方法抛出NoLowerLetter异常类对象,voidprintDigit(charc)方法抛出NoDigit异常类对象。2.实验模板ExceptionExample.java【代码1】//类声明,声明一个Exception的子类NoLowerLetter{publicvoidprint(){System.out.printf(%c,'#');}}【代码2】//类声明,声明一个Exception的子类NoDigit{publicvoidprint(){System.out.printf(%c,'*');}}classPeople{voidprintLetter(charc)throwsNoLowerLetter{if(c'a'||c'z'){NoLowerLetternoLowerLetter=【代码3】//创建NoLowerLetter类型对象【代码4】//抛出noLowerLetter}else{System.out.print(c);}}voidprintDigit(charc)throwsNoDigit{if(c'1'||c'9'){NoDigitnoDigit=【代码5】//创建NoDigit()类型对象【代码6】//抛出noDigit华北电力大学实验报告第6页共7页}else{System.out.print(c);}}}publicclassExceptionExample{publicstaticvoidmain(Stringargs[]){Peoplepeople=newPeople();for(inti=0;i128;i++){try{people.printLetter((char)i);}catch(NoLowerLettere){e.print();}}for(inti=0;i128;i++){try{people.printDigit((char)i);}catch(NoDigite){e.print();}}}}华北电力大学实验报告第7页共7页

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功