




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国脱脂洗净剂项目创业计划书
- 中国金属表面强化项目投资计划书
- 运城市人民医院早产预测与预防技能考核
- 通辽市中医院电梯困人应急救援流程实操考核
- 晋中市中医院头颈部皮瓣修复术考核
- 中国颜料着色剂项目创业计划书
- 邯郸市人民医院文献检索能力考核
- 伊春市人民医院输血科主治医师晋升考核
- 呼伦贝尔市人民医院身体塑形技术考核
- 保定市中医院护理教学方法创新考核
- 2025年中级劳务派遣管理员(四级)《理论知识》考试真题(题后附答案和解析)
- 2025年竞选大队委笔试题及答案
- 约谈问责管理办法
- 2025年成人高考高升专试题(含答案)
- 统编版(2024)八年级上册语文:古诗文理解性默写 练习题+答案
- 船舶高级消防课件
- 佛山市南方医科大学第七附属医院招聘笔试真题2024
- 员工行为准则培训
- 管理岗位津贴管理制度
- 药品信息追溯管理制度
- 重症肺炎集束化治疗专题报告
评论
0/150
提交评论