Java语言程序设计A实验4:异常处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验课程名称:Java语言程序设计A

第二部分:实验过程记录(可加页)(代码、运行结果、实验中出现的问题及解决过程)

修改后代码如下:

import java.util.*;

class ExceptionDemo{

public static void main(String[] args) {

try {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a interger:");

int number = scanner.nextInt();

System.out.println("The number entered is:" + number);

} catch (InputMismatchException e) {

System.err.println("输入有误,请重新输入一个整型数据!");

new ExceptionDemo().main(args);;

}

}

}

运行结果如下:

教师签字__________

第三部分结果与讨论(可加页)

一、实验结果分析(包括数据处理、影响因素讨论、综合分析和结论等)

首先运行题目中给出的代码,当输入的数据不是整形时,程序抛出InputMismatchException错误并终止,之后用try……catch捕捉并处理该错误,在catch块中输出错误提示并且重新调用main方法,已达到程序正常运行直达用户输入整数后才退出的目的。

实验中通过main函数的回调,实现了和使用循环处理一样的效果,也可以通过for循环或者do……while循环实现同样的效果,例如以下用for循环的实现:

import java.util.*;

class ExceptionDemo{

public static void main(String[] args) {

for (; ; ) {

try {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter a interger:");

int number = scanner.nextInt();

System.out.println("The number entered is:" + number);

// break;

} catch (Exception e) {

System.err.println("输入有误,请重新输入一个整型数据!\n");

}

}}}

运行效果为:

二、小结、建议及体会

编程的时候要多考虑一些影响因素,多思考几种实现方法,在各种方法中寻找最优的方案,同时,对于碰到的问题,不要忽略,要多多思考本质的原因,避免下次犯同样的错误。

相关文档
最新文档