Java语言程序设计A实验4:异常处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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");
}
}}}
运行效果为:
二、小结、建议及体会
编程的时候要多考虑一些影响因素,多思考几种实现方法,在各种方法中寻找最优的方案,同时,对于碰到的问题,不要忽略,要多多思考本质的原因,避免下次犯同样的错误。