2.建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmou...

//Bank类
package d0923;

public class Bank {
private double balance;

Bank(double a) {
    balance += a;
}

void withDrawal(double dAmount) throws InsufficientFundsException, NagativeFundsException  {
    if(dAmount<0)       
        throw new InsufficientFundsException(dAmount);
    if(dAmount>balance)
        throw new NagativeFundsException();
    System.out.println("取款:"+dAmount);
    this.balance-=dAmount;
}

}

///InsufficientFundsException
package d0923;

public class InsufficientFundsException extends Exception {
InsufficientFundsException(double i)
{
System.out.println("发生错误:"+"取款额"+i+"为负数。");
}
}

///NagativeFundsException
package d0923;

public class NagativeFundsException extends Exception {
NagativeFundsException()
{
System.out.println("超出余额:");
}
}

package d0923;

public class NagativeFundsException extends Exception {
NagativeFundsException()
{
System.out.println("超出余额:");
}
}

//测试主类

package d0923;

public class TestBank {

public static void main(String[] args)  {
    Bank b=new Bank(100);
    try{
        b.withDrawal(-15);
    }
    catch(InsufficientFundsException e)
    {
        e.printStackTrace();
    }
    catch(NagativeFundsException e)
    {
        e.printStackTrace();
    }
    
    try{
        b.withDrawal(150);
    }
    catch(InsufficientFundsException | NagativeFundsException e)
    {
        e.printStackTrace();
    }


}

}
//运行结果

发生错误:取款额-15.0为负数。 ///withdrawal调用的构造函数
d0923.InsufficientFundsException
at d0923.Bank.withDrawal(Bank.java:12) /// printStack
at d0923.TestBank.main(TestBank.java:8)
超出余额:
d0923.NagativeFundsException
at d0923.Bank.withDrawal(Bank.java:14)
at d0923.TestBank.main(TestBank.java:20)

转载于:https://www.cnblogs.com/nicebaby/p/5904942.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值