精品文档
实验六 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)
精品文档
精品文档
{
return 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 { }
public static int compute(int a, int b) throws NumberRangeException {
{
throw new NumberRangeException(\数字不在指定范围\); }
if( (a<0 || b<0))
System.out.println(\请输入两个正整数(回车分隔):\); BufferedReader br=new BufferedReader(new int a=Integer.parseInt(br.readLine()); int b=Integer.parseInt(br.readLine()); try{
System.out.println(\计算结果(求和)为:\ +compute(a, b)); } catch (NumberRangeException e) {
e.printStackTrace(); }
InputStreamReader(System.in));
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) {//设置储户名 this.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; }
public void setRate(double rate) {//设置利率 this.rate = rate; }
public void savingMoney(double money){//存款 this.balance=this.balance+money;
精品文档
相关推荐: