西农大 Java实习 异常处理
實驗題3
創(chuàng)建異常類的練習。需要使用3個Java程序來實現(xiàn):
Bank.java
InsufficientFundsException.java
ExceptionDemo.java
創(chuàng)建銀行類Bank,包括如下的方法:
?Bank(double balance)
?deposite(double dAmount)
?withdrawal(double dAmount)
show_balance()
創(chuàng)建異常類:InsufficientFundsException。若取錢數(shù)大于余額則作為異常處理。創(chuàng)建此異常類的思路是:(1)產生異常的條件是余額少于取額, 因此是否拋出異常要判斷條件(注意throw的使用)。(2)取錢是withdrawal()方法中定義的動作,因此在該方法中產生異常。(3)處理異常安排在調用withdrawal()的時候,因此withdrawal()方法要聲明異常,由上級方法調用(注意throws的使用)。創(chuàng)建此異常類的具體要求:異常類中需添加 excepMesagge()方法,用于調用Bank類的show_balance()方法,顯示“您的取款金額為XXX,但是賬戶余額僅為XXX,操作不合法”。
創(chuàng)建主類: ExceptionDemo,用于測試新創(chuàng)建的兩個類。 注意try-catch語句的使用, 并且在錯誤處理的catch塊中,使用InsufficientFundsException異常類的excepMesagge()方法以及Exception類(父類)的toString()方法。最后添加finally塊,輸出“操作退出”。
package back11;public class Bank {double balance;public Bank(double balance) {this.balance = balance;}public void deposite(double dAmount) {this.balance += dAmount;}public void withdrawl(double dAmount) throws InsufficientFundsExpection{if (dAmount > balance) {throw new InsufficientFundsExpection();}balance -= dAmount;}public double show_balance() {return this.balance;} } package back11; import java.util.*;public class ExceptionDemo {public static void main(String[] args) {Scanner rd = new Scanner(System.in);System.out.println("請創(chuàng)建賬戶:");double d = rd.nextDouble();Bank bk = new Bank(d);try {System.out.println("請存錢:");d = rd.nextDouble();bk.deposite(d);System.out.println("請輸入取錢金額:");d = rd.nextDouble();bk.withdrawl(d);rd.close();} catch (InsufficientFundsExpection e) {System.out.println(e.excepMessage(bk.show_balance(), d));System.out.println(e.toString());}finally{System.out.println("您當前的余額為: " + bk.show_balance());System.out.println("操作退出!!!");}} } package back11;public class InsufficientFundsExpection extends Exception{public InsufficientFundsExpection() {}public InsufficientFundsExpection(String str) {super(str);}public String excepMessage(double d1, double d2) {String s1 = String.valueOf(d1);String s2 = String.valueOf(d2);String s3 = "您的取款金額為"+s1+", 但是賬戶余額僅為" + s2;return s3;} }總結
以上是生活随笔為你收集整理的西农大 Java实习 异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 顶刊实证复现!排污权交易机制是否提高了企
 - 下一篇: 171025_matlab_imag函数