ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:159.24KB ,
资源ID:3936566      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3936566.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验3实验报告异常处理学习资料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验3实验报告异常处理学习资料.docx

1、实验3实验报告异常处理学习资料信息工程学院Java语言课内实习报告 (201201学年第 二学期) 实习题目:异常处理 姓 名: 学 号: 专 业:计算机科学与技术 年级班级:一、实习目的 掌握Java的异常处理机制及相关实现方法能够在程序设计中熟练运用异常及相关类及对象。二、实习设计过程实验题1 在程序中产生一个ArithmeticException 类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。设计如下:try int c=a/b; System.out.print(

2、c); catch(ArithmeticException e) System.out.println(Caught ArithmeticException); System.out.println(e.getMessage(): + e.getMessage(); 运行结果如下: 实验题2 在一个类的静态方法methodOne()方法内使用throw 产生异常,使用throws子句抛出methodOne()的异常,在main方法中捕获处理异常。设计如下:static void methodOne() throws ArrayIndexOutOfBoundsException throw ne

3、w ArrayIndexOutOfBoundsException(数组下标越界); try methodOne(); catch(ArrayIndexOutOfBoundsException e ) System.out.println(错误是:+e); 运行结果如下:实验题3 编写一个程序,输入一个班某门课程成绩,统计及格人数、不及格人数平均分。设计一个异常类,当输入的成绩小0分或大于100分时,抛出异常,程序将捕捉这个异常,并作出相应处理。设计如下:/异常类部分class InterException extends Exception String message; public Int

4、erException(double m) message= 输入的成绩+m+不合法+请检查您的输入是否有误!; public String toString() return message; /成绩处理部分public void setRecord(double record) throws InterException if(record100|record=60) n1+; else n2+; sum+=record; /Main函数中try -catch块部分:try double sore=reader.nextDouble(); /System.out.println(sore)

5、; record.setRecord(sore); catch(InterException e) System.out.println(e.toString(); -i; 运行结果如下:实验题4 创建异常类的练习。需要使用3个Java程序来实现:创建银行类Bank:/存钱部分void deposite(double dAmount) if(dAmount0) this.dAmount=dAmount; this.balance+=dAmount; /取钱部分 void withdrawal(double dAmount) throws InsufficientFundsException /

6、System.out.println(取款金额为:+dAmount); if(dAmountthis.balance) throw new InsufficientFundsException(this.balance,dAmount); else this.balance-=dAmount; /显示余额部分 double show_balance() return this.balance;创建异常类:/异常类的构造public InsufficientFundsException(double balance,double dAmount) this.balance=balance; th

7、is.dAmount=dAmount; /异常信息 String excepMesagge() Bank bank=new Bank(this.balance); return 您的取款金额为+this.dAmount+,但是账户余额仅为+bank.show_balance()+,操作不合法!; 创建主类: ExceptionDemo: Bank bank=new Bank(2000); bank.deposite(100); try bank.withdrawal(4000); catch(InsufficientFundsException e) System.out.println(e.

8、toString():+e.toString(); System.out.println(e.excepMesagge(); finally System.out.println(操作退出!); 运行结果如下:3、调试过程中存在问题分析实验题目4中异常类创建过程中,用到Bank类中的方法,初始化过程中,Bank类中的信息与异常类的连接存在问题,导致信息显示与想要的结果不匹配。解决办法:String excepMesagge() Bank bank=new Bank(this.balance); return 您的取款金额为+this.dAmount+,但是账户余额仅+bank.show_bal

9、ance()+,操作不合法!; 在这个方法中创建Bank类的对象,构造用异常类中的this.balance。四、心得、体会与建议在这次实验过程中,异常类的构造我自己感觉还是不太熟悉。方法用throws抛出异常,方法内部用throw关键字产生异常基本掌握。这部分自己还需要加大练习力度。附录:题目1代码:public class TryArithmeticException /* * param args */ static int a=1; static int b=0; public static void main(String args) / TODO Auto-generated met

10、hod stub try int c=a/b; System.out.print(c); catch(ArithmeticException e) System.out.println(Caught ArithmeticException); System.out.println(e.getMessage(): + e.getMessage(); 题目2代码:public class TryThrow /* * param args */ static int a=new int6; static void methodOne() throws ArrayIndexOutOfBoundsExc

11、eption throw new ArrayIndexOutOfBoundsException(数组下标越界); public static void main(String args) / TODO Auto-generated method stub try methodOne(); catch(ArrayIndexOutOfBoundsException e ) System.out.println(错误是:+e); 题目3代码:import java.util.Scanner;SuppressWarnings(serial)class InterException extends Ex

12、ception String message; public InterException(double m) message= 输入的成绩+m+不合法+请检查您的输入是否有误!; public String toString() return message; public class TryRecord int n1,n2; double sum=0; public void setRecord(double record) throws InterException if(record100|record=60) n1+; else n2+; sum+=record; public st

13、atic void main(String args) TryRecord record=new TryRecord(); SuppressWarnings(resource) Scanner reader=new Scanner(System.in); System.out.print(请输入班级总人数:); int n=reader.nextInt();/班级总人数 System.out.println(请您逐次输入学生课程成绩:); for(int i=0;i0) this.dAmount=dAmount; this.balance+=dAmount; void withdrawal(d

14、ouble dAmount) throws InsufficientFundsException /System.out.println(取款金额为:+dAmount); if(dAmountthis.balance) throw new InsufficientFundsException(this.balance,dAmount); else this.balance-=dAmount; double show_balance() return this.balance; public static void main(String args) / TODO Auto-generated

15、method stub InsufficientFundsException.java:SuppressWarnings(serial)public class InsufficientFundsException extends Exception /* * param args */ double balance; double dAmount; public InsufficientFundsException(double balance,double dAmount) this.balance=balance; this.dAmount=dAmount; String excepMe

16、sagge() Bank bank=new Bank(this.balance); return 您的取款金额为+this.dAmount+,但是账户余额仅为+bank.show_balance()+,操作不合法!; public static void main(String args) / TODO Auto-generated method stub ExceptionDemo.java:public class ExceptionDemo /* * param args */ public static void main(String args) / TODO Auto-generated method stub Bank bank=new Bank(2000); bank.deposite(100); try bank.withdrawal(4000); catch(InsufficientFundsException e) System.out.println(e.toString():+e.toString(); System.out.println(e.excepMesagge(); finally System.out.println(操作退出!);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1