package cn.hp.demo04; import java.util.Scanner; /*自定义异常 * 余额不足异常 * ATM机 * 插卡 * 取款 * * 银行卡 * 余额 * */ public class Test { public static void main(String[] args) { //创建取款机 ATM atm = new ATM(); //创建银行卡 BankCard bankCard = new BankCard(); bankCard.setBalance(5000); //模拟ATM取款 atm.setBankCard(bankCard); try { atm.withdrawMoney(); } catch (BalanceNotEnoughException e){ e.printStackTrace(); } System.out.println("程序结束"); } } /* 银行卡 * 余额 * */ class BankCard{ private double balance; public double getBalance() { return balance; } public void setBalance(double balance) { this.balance = balance; } } /* ATM * 余额 * */ class ATM{ private BankCard bankCard;//ATM机卡槽 //取款 public void withdrawMoney() throws BalanceNotEnoughException { System.out.println("请输入取款金额:"); int money = new Scanner(System.in).nextInt(); //判断金额是否足够 if (money<=this.bankCard.getBalance()){ System.out.println("取款成功"); this.bankCard.setBalance(this.bankCard.getBalance()-money); System.out.println("提示:取款:"+money+"元,卡内余额:"+this.bankCard.getBalance()); }else{ //余额不足异常 //System.out.println("警告:余额不足"); throw new BalanceNotEnoughException(); } } public BankCard getBankCard() { return bankCard; } //当作插卡 public void setBankCard(BankCard bankCard) { this.bankCard = bankCard; } }
---------------------------------------------------------------------------------------------------------------------------------
package cn.hp.demo04; /* * 自定义异常类 * 余额不足异常:取款时,一旦余额不足会抛出异常*/ public class BalanceNotEnoughException extends Exception{ public BalanceNotEnoughException(){ super("警告:账号余额不足");//把异常信息传给Exception } }