一道Java题目,今晚急用,求帮助

1)定义一个银行卡的接口BankCard,成员属性根据实际情况自行确定,在类中定义两个方法save和withdraw,分别表示存款和取款。2)根据上题设计的接口,分别实现... 1)定义一个银行卡的接口BankCard,成员属性根据实际情况自行确定,在类中定义两个方法save和withdraw,分别表示存款和取款。 2)根据上题设计的接口,分别实现从银行取款1000元和存款5000元对应的抽象方法,要求输出账户余额和存(取)款的数量。 3)取款的过程中要考虑异常情况 展开
 我来答
cs12110
2018-10-15 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:45
采纳率:0%
帮助的人:25.5万
展开全部

/**
 * 
 * bankcard interface
 *
 * <p>
 *
 * @author cs12110 2018年10月15日
 * @see
 * @since 1.0
 */
public interface BankCard {

/**
 * 存款
 * 
 * @param money
 *            存入
 * @return boolean
 */
public boolean save(double money);

/**
 * 取出
 * 
 * @param take
 *            取出
 * @return double
 * @throws Exception
 */
public double withdraw(double take) throws Exception;

}
/**
 * 
 * Icbc银行卡
 *
 * <p>
 *
 * @author cs12110 2018年10月15日
 * @see
 * @since 1.0
 */
public class IcbcBankCard implements BankCard {

/**
 * 余额,默认为0
 */
private double total = 0;

@Override
public boolean save(double money) {
if (money >= 0) {
total += money;
}
return false;
}

@Override
public double withdraw(double take) throws Exception {
if (take > total) {
throw new IllegalArgumentException("Your withdraw must <=" + this.total);
}
total -= take;
return take;
}

/**
 * 打印银行卡余额
 */
public void display() {
StringBuilder info = new StringBuilder();
info.append("Remain: ").append(total);

System.out.println(info.toString());
}

}
public class BankTest {

public static void main(String[] args) {
IcbcBankCard card = new IcbcBankCard();
card.display();

// 取出1000,报错
try {
card.withdraw(1000);
} catch (Exception e) {
System.err.println(e.getMessage());
}

// 存入5000
card.save(5000);
card.display();
// 然后取出1000
try {
card.withdraw(1000);
} catch (Exception e) {
e.printStackTrace();
}
card.display();
}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式