欢迎来到天天文库
浏览记录
ID:41588944
大小:62.45 KB
页数:6页
时间:2019-08-28
《java实验3(10)异常——必做》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、班级:13网络1班姓名:学号:成绩异常实验目的:1.理解异常现象及异常的抛出机制2.掌握异常抛出时的处理机制3.掌握自定义异常的方法4・能够掌握在方法代码中添加抛出异常的处理实验要求和过程1.publicclassTestApp{publicstaticvoidmain(String[]args){try{inti=0;intj=1/i;Stringmyname=null;if(myname」ength()>2)System.out.printC'1");}catch(NullPointerExceptione){System.out.print
2、(642,');}catch(Exceptione){System.out.printC'3^);}}}分析上述程序运行后的输出的结果和原因。3因为除数匸0所以出错下面就没执行,跳到catch(Exception)所以输出32.下面是一个名称为NegativeAmountException的自定义异常类,表示一个不正常的银行账目事件类。填充下面的语句,完成该类的编写。classNegativeAmountExceptionextendsException{//NegativeAmountException界常:用消息s创建并常NegativeAm
3、ountException(Strings){super(s);classAccount{doublebalance;//构造函数,余额为0;publicAccount(){balance=0;}//构造函数,余额为n,如果初始余额小于0抛出界常publicAccount(doublen)throwsNegativeAmountException{if(n>0){this・balance=n;}else{thrownewNegativeAmountException("初始余额小丁•()界常");}}//査询余额方法,返回当前余额publicdo
4、ublegetBalance(){returnthis.balance;}//存款方法,存款数额amount;如果存款数目小于0抛出界常publicvoiddeposit(doubleamount)throwsNegativeAmountException{if(amount>=0){balance+=amount;}else{thrownewNegativeAmountException(”存款金额小】0异常!");}}//取款方法,取款数额amount;如果取款数目小于0抛岀异常publicvoidwithdraw(doubleamount)
5、throwsNegativeAmountException{if(amount<0){thrownewNegativeAmountException(111ft款金额小丁0界常!H);}elseif(balance6、ountal=newAccount();al.deposit(lOO);//al.withdraw(-lOO);al.withdraw(30);System.out.println(ubalanceofal:"+al.getBalance());//Accounta2=newAccount(-lO);//////////////a2=newAccount(10);a2.deposit(-20);a2.withdraw(-10);a2.withdraw(30);a2.withdraw(3);System.out.printlnC'balanceof7、al:”+a2.getBalance());}catch(NegativeAmountExceptione){e.printStackTrace();}3.模仿上题中NegativeAmountException自定义异常的写法,根据下血要求写程序。1)自定义异常OnlyOneException与NoOprandException,并补充各自类的构造函数,参数用于保存异常发生时候的信息;2)添加main方法,如果没有输入命令行参数,抛NoOprandException异常并退出程序的执行;如果命令行参数的数目只要一个,抛出OnlyOneExcep8、tion异常并退出程序的执行;否则从命令行读入两个数据,计算这两个数据的和并输出。classOnlyOneExcept;ionexten
6、ountal=newAccount();al.deposit(lOO);//al.withdraw(-lOO);al.withdraw(30);System.out.println(ubalanceofal:"+al.getBalance());//Accounta2=newAccount(-lO);//////////////a2=newAccount(10);a2.deposit(-20);a2.withdraw(-10);a2.withdraw(30);a2.withdraw(3);System.out.printlnC'balanceof
7、al:”+a2.getBalance());}catch(NegativeAmountExceptione){e.printStackTrace();}3.模仿上题中NegativeAmountException自定义异常的写法,根据下血要求写程序。1)自定义异常OnlyOneException与NoOprandException,并补充各自类的构造函数,参数用于保存异常发生时候的信息;2)添加main方法,如果没有输入命令行参数,抛NoOprandException异常并退出程序的执行;如果命令行参数的数目只要一个,抛出OnlyOneExcep
8、tion异常并退出程序的执行;否则从命令行读入两个数据,计算这两个数据的和并输出。classOnlyOneExcept;ionexten
此文档下载收益归作者所有