java自定义异常实验总结,Java实验--自定义异常的使用

这几天有点小忙,都没时间更新博客了,今天趁着Java实验课,把做的这次实验放上去吧!

实验5 自定义异常的使用

a.在定义一个银行类Bank时, 有存钱deposit()、取钱withdraw()、显示余额showBalance()等方法。若取钱数大于余额则作为异常处理(InsufficientFundsException)。产生异常的条件是余额少于取额, 因此是否抛出异常要判断条件,要定义好自己的异常类。

b. 定义异常类,当从键盘输入A或a时,抛出自定义异常。

实验要求:

1.掌握如何定义异常;

2.掌握如何抛出异常;

3.掌握如何捕捉处理异常。

-----------------------------------------------

不考虑其他情况,只有取钱这个操作会出现异常,先定义自己的异常:

packagebank;

classMyExceptionextendsException{

String message;

publicMyException() {

message = "您的余额不足!";

}

publicString getMessage(){

returnmessage;

}

}

银行类的主类:

packagebank;

importjava.util.Scanner;

publicclassBank {

privatedoublemoney;

privateString menu;

publicBank(doublen) {

this.money = n;

}

//取钱

publicvoidwithdrawal(doublen)throwsMyException{

if(n>money) {

MyException ex = newMyException();

throw(ex);

}

money = money - n;

System.out.println("取钱成功!");

this.showBalance();

this.showMenu();

}

//存钱

publicvoiddeposit(doublen){

money += n;

System.out.println("您已成功存入"+n);

this.showBalance();

this.showMenu();

}

//查看余额

publicvoidshowBalance(){

System.out.println("您当前账户的余额是:"+money);

this.showMenu();

}

publicvoidshowMenu(){

StringBuffer strBuffer = newStringBuffer();

strBuffer.append("\n请选择您的操作:\n");

strBuffer.append("存钱[c]\t");

strBuffer.append("取钱[q]\t");

strBuffer.append("查询余额[y]\t");

strBuffer.append("退出系统[quit]\t");

System.out.println(strBuffer);

Scanner input = newScanner(System.in);

this.menu = input.nextLine();

this.getMenu();

}

publicvoidgetMenu() {

if(this.menu.equals("c")) {

System.out.println("请输入您要存入的金额:\n");

Scanner input = newScanner(System.in);

doublem1 = input.nextDouble();

this.deposit(m1);

}else{

if(this.menu.equals("q")) {

System.out.println("请输入您要取出的金额:\n");

Scanner input = newScanner(System.in);

doublem1 = input.nextDouble();

try{

this.withdrawal(m1);

} catch(MyException e) {

System.out.println(e.getMessage());

}finally{

this.showMenu();

}

}else{

if(this.menu.equals("y")){

this.showBalance();

}else{

if(this.menu.equals("quit")){

}else{

this.showMenu();

}

}

}

}

}

}

能改进的地方还有很多,getMenu这个...嘿嘿....

住程序:

packagebank;

publicclassBankMain {

/**

* @param args

*/

publicstaticvoidmain(String[] args) {

Bank a = newBank(200);

a.showMenu();

}

}

自己写的垃圾源代码在这里: [file]upload/201105/2011050316181626.rar[/file]

你可能感兴趣的:(java自定义异常实验总结)