实验10--java异常(答案)

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

实验六Java异常处理

【实验目的】

1)掌握Java异常的概念及工作机制

2)掌握异常的分类

3)掌握抛出异常语句的使用(throw)

4)掌握抛出捕获处理异常语句的使用(try…catch…finally)

5)掌握上抛异常语句的使用(throws)

6)掌握创建自定义异常

【实验环境】

JDK1.6+Eclpise3.2

【实验准备】

1)复习课件中理论知识

2)练习课堂所讲的例子

【实验内容】

1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。

package SIX;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.BufferedReader;

public class CIRCLE {

public static void main(String[] args) throws IOException { System.out.print("请输入半径: ");

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

try{

System.out.println("圆的面积为:

"+computerArea(Double.parseDouble(br.readLine())));

}

catch(NumberFormatException e){

System.out.println("您输入的不是数值,请重新输入");

}

}

public static double computerArea(double r)

{

r eturn Math.PI*r*r;

}

}

2、计算两个正数之和,当任意一个数超出范围时,抛出自己定义的异常(NumberRangeException)。

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

public class shu {

public static void main(String[] args) throws IOException

{

System.out.println("请输入两个正整数(回车分隔):");

BufferedReader br=new BufferedReader(new

InputStreamReader(System.in));

int a=Integer.parseInt(br.readLine());

int b=Integer.parseInt(br.readLine());

try{

System.out.println("计算结果(求和)为:" +compute(a, b));

} catch (NumberRangeException e)

{

e.printStackTrace();

}

}

public static int compute(int a, int b) throws NumberRangeException

{

if( (a<0 || b<0))

{

throw new NumberRangeException("数字不在指定范围");

}

return (a+b);

}}

class NumberRangeException extends Exception {

public NumberRangeException(String msg){

super(msg);

}

}

3、编写一个类实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”、“最小余额”、“利率”、“存款日期”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。并创建“取款数目超过余额”这个异常,并在取款方法中抛出并处理这个异常。

public class bank{

int ID;

String name;

String address;

double balance;

double min_balance;

double rate;

double interest;

public int getID() {//获取账户

return ID;

}

public void setID(int iD) {//设置账户

ID = iD;

}

public String getName() {//获取储户名

return name;

}

public void setName(String name) {//设置储户名

= name;

}

public String getAddress() {//获取储户地址

return address;

}

public void setAddress(String address) {//设置储户地址

this.address = address;

}

public double getBalance() {//获取余额

return balance;

}

public void setBalance(double balance) {//设置余额

this.balance = balance;

}

public double getMin_balance() {//获取最小余额

return min_balance;

}

public void setMin_balance(double minBalance) {//设置最小余额

min_balance = minBalance;

}

public double getRate() {//获取利率

return rate;

相关文档
最新文档