java 实验九异常处理
《面向对象程序设计》实验报告
合肥院学院计算机科学与技术系
实验名称 异常处理 日期 2014年11月26日
姓名/学号 代震/1304092039 专业/班级 软件工程(2)班
指导老师 吴晓琴 成绩
一、实验目的:(详见指导书,宋体小四)
1、理解 java 语言中独特的异常处理机制掌握正确地使用捕获异常和声明抛弃异常的两种异常处理的方法理解抛异常和声明抛异常的区别与联系捕获异常和声明抛弃异常的两种异常处理的方法捕获Integer.parseInt()产生的异常从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。自定义类Sanj,其中有成员 x,y,z,作为三边长,构造方法Sanj(a,b,c)分别给x,y,z赋值,方法求面积getArea和显示三角形信息(三个边长)showInfo,这2个方法中当三条边不能构成一个三角形时要抛出自定义异常NotSanjiaoException,否则显示正确信息。在另外一个类中的主方法中构造一个Sanj对象(三边为命令行输入的三个整数),显示三角形信息和面积,要求捕获异常。参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试]public class StringIndexOutOf{
public static void main(String args[]){
System.out.println("字符串索引越界异常");String str=args[0]; System.out.println(“第四个字符为 ”+str.charAt(3));int aa=Integer.parseInt(args[0]); System.out.println(“平方为 ”+aa*aa);}
}
实验过程:
1、(第1题) 使用try…..catch…. finally语句对Integer.parseInt()产生的异常捕获方法void sanjiao(int a,int b,int c)抛出异常IllegalArgumentException(),),再定义main方法调用此方法,…..catch…. finally语句并捕获异常 定义三角形类抛出异常方法捕获异常
四、实验中的问题思考及讨论:(列出你实验中出现的问题,解决的问题和解决的思路实验: 简单、准确的总结次实验的主要内容,个人收获 java 语言中独特的异常处理机制正确地使用捕获异常和声明抛弃异常的两种异常处理的方法抛异常和声明抛异常的区别与联系?
1、
import java.util.Scanner;
public class Te9_1{
public static void main(String args[]){
try{
if(args.length<5){
ArrayIndexOutOfBoundsException e=new ArrayIndexOutOfBoundsException();
throw e;
}
for(int i=0;i<=4;i++){
Integer.parseInt(args[i]);
}
for(int i=0;i<=4;i++){
System.out.print(args[i]+" ");
}
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("请输入至少5个整数!");
}
catch(NumberFormatException e){
System.out.println("请输入整数!");
}
}
}
2、
import java.util.Scanner;
public class Te9_2{
public static void m