异常处理作业答案.doc

异常处理作业答案.doc

ID:59200833

大小:24.00 KB

页数:4页

时间:2020-09-10

异常处理作业答案.doc_第1页
异常处理作业答案.doc_第2页
异常处理作业答案.doc_第3页
异常处理作业答案.doc_第4页
资源描述:

《异常处理作业答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、异常处理作业答案评分标准:【1】编程题正确,选择题错2题以内可评A,3题以内可评B,4题以内C,5题以内D,其余E。【2】编程题基本不正确,选择题错2题以内可评B,3题以内可评C,4题以内D,其余E。Ø选择题1.BCE2.Btry、catch、finally三个代码块中变量的作用域为代码块内部,分别独立而不能相互访问。因此,变量f在catch和finally块中都是未定义的,编译不能通过,正确答案是B。3.D不管有没有异常发生,finally中的语句都会被执行,所以此题输出ac,答案是D4.D子类覆盖

2、父类的方法不能抛出父类方法未抛出的异常,抛出异常的范围不能大于父类抛出的异常。答案是D.5.BRuntimeException为方法默认抛出的异常,所以子类显式的抛出该异常没有问题。运行该程序会输出AException,答案是B6.D原因和4题一样7.F上溯造型时,方法声明抛出异常是由编译时,即父类声明抛出的异常决定。此题a.process()声明抛出了异常但没处理,所以编译出错。8.A这里没有上溯造型,直接调用子类方法。9.C多catch块自上而下必须是子类在上,父类在下。所以答案是C。10.EØ编

3、程题1.编写一个程序,从键盘输入一个字符串,再把这个字符串转化成整数并输出。第一次输入523看结果是什么,第二次输入number看结果有是什么?那种情况会产生异常,是什么异常?importjava.util.Scanner;publicclassExample6_1{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.println("请输入数据以回车结束!");Stringstr=sca

4、nner.nextLine();System.out.println(Integer.parseInt(str));}}第一次结果是输出523第二次会产生异常,异常类型:InputMismatchException,是运行时异常。2.编写一个异常类,用于学生类,目的是控制学生的年龄不能小于1岁大于100岁。importjava.util.Scanner;classAgeExceptionextendsException{publicStringgetMessage(){return"输入的年龄超出范围

5、,请重新输入!(10~40)";}}classStudent{publicvoidsetAge(intage)throwsAgeException{if(age<10

6、

7、age>40){thrownewAgeException();//由数据的拥有者抛出数据范围异常,但不处理异常}else{System.out.println("学生年龄为:"+age);}}}publicclassExample6_2{publicstaticvoidmain(String[]args){Studentstudent

8、=newStudent();System.out.println("请输入学生年龄:");Scannerscanner=newScanner(System.in);inti=1;try{student.setAge(scanner.nextInt());//由使用者处理异常}catch(AgeExceptione){System.out.println(e.getMessage());}}}3、编写一个异常,来控制银行卡中每次取钱的金额不能大于5000元,并且卡上的余额不能小于10元。importja

9、va.util.InputMismatchException;importjava.util.Scanner;//====以下是两个自定义异常类=====classGetExceptionextendsException{publicStringgetMessage(){return"一次提取金额不能超过5000!";}}classLimitExceptionextendsException{publicStringgetMessage(){return"余额不足!";}}//银行卡类publiccl

10、assBankCard{privateintmoney;publicBankCard(intm){money=m;}publicvoidsetMoney(intmoney){this.money=money;}publicintgetMoney(){returnthis.money;}publicvoidget(intgetMon)throwsGetException,LimitException{if(getMon>5000)//提取金额超过5000抛

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。