欢迎来到天天文库
浏览记录
ID:17702579
大小:64.50 KB
页数:11页
时间:2018-09-04
《实验3(10)异常——必做》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、班级:姓名:学号:成绩异常实验目的:1.理解异常现象及异常的抛出机制2.掌握异常抛出时的处理机制3.掌握自定义异常的方法4.能够掌握在方法代码中添加抛出异常的处理实验要求和过程1.publicclassTestApp{publicstaticvoidmain(String[]args){try{inti=0;intj=1/i;Stringmyname=null;if(myname.length()>2)System.out.print(“1”);}catch(NullPointerExceptione){System.out.print(“2”);}catch(Excepti
2、one){System.out.print(“3”);}}}分析上述程序运行后的输出的结果和原因。输出结果是:3原因:intj=1/i;这句话除0异常,catch并没有相对应Exceptione子类捕获错误,所以输出Exception中语句,并结果程序。2.下面是一个名称为NegativeAmountException的自定义异常类,表示一个不正常的银行账目事件类。填充下面的语句,完成该类的编写。classNegativeAmountException_extends___Expection___{//NegativeAmountException异常:用消息s创建异常Neg
3、ativeAmountException(Strings){super(s);}}classAccount{doublebalance;//构造函数,余额为0;publicAccount(){balance=0;}//构造函数,余额为n,如果初始余额小于0抛出异常publicAccount(doublen)throwsNegativeAmountException{if(n>0){this.balance=n;}else{__thrownew_NegativeAmountException(“余额小于0异常”);}}//查询余额方法,返回当前余额publicdoubleget
4、Balance(){returnthis.balance;}//存款方法,存款数额amount;如果存款数目小于0抛出异常publicvoiddeposit(doubleamount)_throwsNegativeAmountException_{if(amount>=0){balance+=amount;}else{thrownewNegativeAmountException("存款金额小于0异常!");}}//取款方法,取款数额amount;如果取款数目小于0抛出异常publicvoidwithdraw(doubleamount)__throwsNegativeAmou
5、ntException{if(amount<0){thrownewNegativeAmountException("取款金额小于0异常!");}elseif(balance6、;//a1.withdraw(-100);a1.withdraw(30);System.out.println("balanceofa1:"+a1.getBalance());//Accounta2=newAccount(-10);////a2=newAccount(10);//a2.deposit(-20);//a2.withdraw(-10);//a2.withdraw(30);//a2.withdraw(3);//System.out.println("balanceofa1:"+a2.getBalance());}catch(NegativeAmountExcepti7、one){e.printStackTrace();}}}1.模仿上题中NegativeAmountException自定义异常的写法,根据下面要求写程序。1)自定义异常OnlyOneException与NoOprandException,并补充各自类的构造函数,参数用于保存异常发生时候的信息;2)添加main方法,如果没有输入命令行参数,抛出NoOprandException异常并退出程序的执行;如果命令行参数的数目只要一个,抛出OnlyOneException异常并退出程序的执行;否则从命令行读入两个
6、;//a1.withdraw(-100);a1.withdraw(30);System.out.println("balanceofa1:"+a1.getBalance());//Accounta2=newAccount(-10);////a2=newAccount(10);//a2.deposit(-20);//a2.withdraw(-10);//a2.withdraw(30);//a2.withdraw(3);//System.out.println("balanceofa1:"+a2.getBalance());}catch(NegativeAmountExcepti
7、one){e.printStackTrace();}}}1.模仿上题中NegativeAmountException自定义异常的写法,根据下面要求写程序。1)自定义异常OnlyOneException与NoOprandException,并补充各自类的构造函数,参数用于保存异常发生时候的信息;2)添加main方法,如果没有输入命令行参数,抛出NoOprandException异常并退出程序的执行;如果命令行参数的数目只要一个,抛出OnlyOneException异常并退出程序的执行;否则从命令行读入两个
此文档下载收益归作者所有