实验3实验报告异常处理.doc
文本预览下载声明
信息工程学院
Java语言课内实习报告
(201~201学年第 二学期)
实习题目:异常处理
姓 名:
学 号:
专 业:计算机科学与技术
年级班级:
一、实习目的
掌握Java的异常处理机制及相关实现方法能够在程序设计中熟练运用异常及相关类及对象。
二、实习设计过程
实验题1 在程序中产生一个ArithmeticException 类型被0除的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException 类的对象e 的方法getMessage 给出异常的具体类型并显示出来。
设计如下:
try { int c=a/b;
System.out.print(c);
} catch(ArithmeticException e) {
System.out.println(Caught ArithmeticException);
System.out.println(e.getMessage(): + e.getMessage());
}
运行结果如下:
实验题2 在一个类的静态方法methodOne()方法内使用throw 产生异常,使用throws子句抛出methodOne()的异常,在main方法中捕获处理异常。
设计如下:
static void methodOne() throws ArrayIndexOutOfBoundsException
{
throw new ArrayIndexOutOfBoundsException(数组下标越界);
}
try{ methodOne();
}
catch(ArrayIndexOutOfBoundsException e ){
System.out.println(错误是:+e);
}
运行结果如下:
实验题3 编写一个程序,输入一个班某门课程成绩,统计及格人数、不及格人数平均分。设计一个异常类,当输入的成绩小0分或大于100分时,抛出异常,程序将捕捉这个异常,并作出相应处理。
设计如下:
//异常类部分
class InterException extends Exception{
String message;
public InterException(double m){
message= 输入的成绩+m+不合法+请检查您的输入是否有误!;
}
public String toString(){
return message;
}
}
//成绩处理部分
public void setRecord(double record) throws InterException {
if(record100||record0){
throw new InterException(record);
}
else{
if(record=60)
{
n1++;
}
else{
n2++;
}
sum+=record;
}
}
//Main函数中try -catch块部分:
try{ double sore=reader.nextDouble();
//System.out.println(sore);
record.setRecord(sore);
}catch(InterException e){
System.out.println(e.toString());
--i;
}
运行结果如下:
实验题4 创建异常类的练习。需要使用3个Java程序来实现:
创建银行类Bank:
//存钱部分
void deposite(double dAmount){
if(dAmount0)
{this.dAmount=dAmount; this.balance+=dAmount;}
}
//取钱部分
void withdrawal(double dAmount) throws InsufficientFundsException{
//System.out.println(取款金额为:+dAmount);
if(dAmountthis.balance){
throw new InsufficientFundsException(this.balance,dAmount); }else{
显示全部