




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验十四 异常类、匿名类 课程名称: 面向对象程序设计 实验项目名称: 实验十四 异常类、匿名类 学生姓名: 专业: 学号: 实验地点: 实验日期: 年 月 日【实验目的】1掌握Java异常类、嵌套类、匿名类。【实验内容】一、异常类实验1编译下面的程序,并回答问题。class ExceptionTest1 public static void main(String args) int a=0,b=0; try a = Integer.parseInt(args0); / 语句1 b = 10; / 语句2 catch(NumberFormatException e) a = 1; System.out.println(a); System.out.println(b); (1)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest1 99) 运行结果:(2)执行上述ExceptionTest1类(在命令提示符下敲入java ExceptionTest a) 运行结果:(3)比较上面两次运行的结果,说明原因。(思考:执行语句1时发生异常,语句2执行没有?) 2编译下面的程序,并回答问题。class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); (1) 编译上述程序,是否出错?(2) 如果出错, 给出出错信息(即javac编译该文件出错信息): 分析为何出错? (3)如果将程序改写为: class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); catch(NumberFormatException e) a = 1; 上述程序是否编译出错? 为什么?(4)如果将程序改写为:class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); finally a = 1; 上述程序是否编译出错?为什么?(4) 如果将程序改写为:class ExceptionTest2 public static void main(String args) int a=0; try a = Integer.parseInt(args0); catch(Exception e) a = 1; catch(NumberFormatException e) a = 2; 上述程序是否编译出错?分析为何出错, 如何修改程序使之正确?3、编译下面的程序,并回答问题。class ExceptionTest3 public static void main(String args) check(-1); static void check(int i) if( i0) throw new Exception(); (1)上述程序编译是否出错? 分析错误原因: (2)将上述程序修改为:class ExceptionTest3 public static void main(String args) check(-1); static void check(int i) throws Exception if( i0) throw new Exception(); 那么,上述程序编译是否出错?分析出错原因: 4编译下面程序,回答问题。class ExceptionTest4 public static void main(String args) method3(); System.out.println(success!); static void method1() throw new Exception(); static void method2() method1(); static void method3() method2(); (1)上述程序编译是否出错? 编译错误是什么? (2)修正上述程序(通过两种方式:给方法添加throws子句,或者使用try-catch-finally)。(3)如果将方法method1中的throw new Exception();更改为:throw new RuntimeException();那么程序是否编译通过?如果编译正常,那么执行ExceptionTest4类,出现什么结果(是否会显示success字符串)?如何修改程序使得能够显示success字符串?5、设计一个简单的类ExceptionTest, 在该类的main方法中实现:将输入参数args0转换为int类型的数字(要求使用包装类的数字转换方法,并通过try-catch-finally方式捕获并处理转换异常),然后显示这个数字的平方值。比如,在命令提示符下输入ExceptionTest 9 并回车,程序显示81。二、匿名类实验1运行下面的Test类,写出运行结果,并分析比较代码1与代码2两种方式的异同abstract class A abstract void abc(); void bbb()abc();class B extends A void abc()System.out.println(bbb);class Test static void f(A a) a.bbb(); public static void main(String args) f( new A() void abc()System.out.println(bbb); ); /代码1 f(new B();/代码2 2运行下面的Test类,写出运行结果,并分析比较代码1与代码2两种方式的异同interface IA void abc(); void bbb();class A implements IA public void bbb()System.out.println(ccc); public void abc()System.out.println(bbb);class Test static void f(IA a) a.bbb(); public static void main(String args)f(new IA() public vo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中化学课件flash
- 高中俄罗斯课件
- 高一哈姆雷特课文课件
- 大数据应用股权转移及数据安全保护合同范本
- 住宅租赁经营权及社区服务设施租赁及管理合同
- 离婚协议书范本(适用于名人隐私保护条款)
- 离职员工经济补偿金及原公司企业创新发展协议
- 果园中的病虫害识别与防治
- 盆栽养护误区解析与矫正
- 大学课件检验及评价规程
- K3ERPwise老单开发手册
- 诊断学黄疸课件
- 企业破产流程
- 体积单位间的进率(说课稿)-2024-2025学年六年级上册数学苏教版
- 办公设备供货服务方案
- 大学入学考试数学试卷
- 病人病情突然发生变化的应急预案
- 智能计算系统:从深度学习到大模型 第2版课件 6、第六章-面向深度学习的处理器原理
- 晚期早产儿营养管理专家共识课件
- (2024)河南省公务员考试《行测》真题及答案解析
- 自动化模具制造行业可行性分析报告
评论
0/150
提交评论