如何用Java代码编写银行转账publicinterface ITransfer{/** 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作* 要么同时成功,要么同时失败* fromAccountId 转出账号* outAccountId 转入账号* amount 转账金额*/publicvoid transferInner(String fromAccountId,String outAccountId,BigDecimal amount);/** 外部转账-转出,从转出账号中扣除转账金额* fromAccoutnId 转出账号* amount 转账金额*/publicvoid transferOut(String fromAccountId,String outAccountId,BigDecimal amount);/** 外部转账-转入,从转入账号中增加转账金额* toAccoutnId 转出账号* amount 转账金额*/publicvoid transerIn(String toAccountId,BigDecimal amount);}public interface ITransfer{ /* * 银行内部转账,从转出账号中扣除转账金额,给转入账号增加转账金额,需要保证以上两个操作 * 要么同时成功,要么同时失败 * fromAccountId 转出账号 * outAccountId 转入账号 * amount 转账金额 */ public void transferInner(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转出,从转出账号中扣除转账金额 * fromAccoutnId 转出账号 * amount 转账金额 */ public void transferOut(String fromAccountId,String outAccountId,BigDecimal amount); /* * 外部转账-转入,从转入账号中增加转账金额 * toAccoutnId 转出账号 * amount 转账金额 */ public void transerIn(String toAccountId,BigDecimal amount); }
实现A B两个用户之间的转账,我的代码不正确,求修正java语言1. 首先为什么线程启动2次
a.start();
b.start();
2.其次System.out.println("请输入您的选择:A转账到B或者B转账到A");
这个输入的值你那里有取得
用Java编写银行账户存取款业务,急求?。?/h2>public class Account {
protected String accId;
protected String name;
protected double money;
public Account (String accId,String name){
this(accId,name,0);
}
public Account (String accId,String name,double money){
this.accId = accId;
this.name = name;
this.money = money;
}
public void saveMoney(double money){
if(money = 0){
System.out.println("存款金额必须大于0");
}
this.money += money;
System.out.println("存款成功");
}
public double getMoney(double money){
if(money = 0){
System.out.println("取款金额必须大于0");
return 0;
}
if(this.money = money){
System.out.println("余额不足 , 无法取款");
return 0;
}
this.money -= money;
System.out.println("取款成功");
return money;
}
public double getBalance(){
return this.money;
}
protected double getOverdraft(){
return 0;
}
// 实现了equals方法,list比较时才能正确
@Override
public boolean equals(Object obj) {
if(obj == null){
return false;
}
if(this == obj){
return true;
}
if(obj instanceof Account){
return this.accId.equals(((Account)obj).accId);
}
return false;
}
@Override
public String toString() {
return "账户=" + accId + ",名字=" + name + ",余额=" + money;
}
}
public class Bank {
// Account实现了equals方法,list查找时才能正确
private ListAccount usersAccounts;
public Bank() {
usersAccounts = new ArrayListAccount();
}
public void addAccount(Account account) {
if (usersAccounts.contains(account)) {
System.out.println("添加失败,不能添加同样的账户");
return;
}
usersAccounts.add(account);
}
public boolean delAccount(Account account) {
return usersAccounts.remove(account);
}
public boolean delAccount(String accId) {
return delAccount(new Account(accId, null));
推荐阅读
- 干新媒体运营收入如何,新媒体运营一个月能挣多少
- js判断类名,js判断类型为数组
- mongodb集群同步数据重复,mongodb 重复数据
- wow换服务器,wow换服务器剧情任务重置吗
- vb.net文本框字体 vb字体对话框
- redis单机与集群搭建,redis单机版搭建
- 英国模拟军事游戏手游,好玩的军事模拟游戏
- vb.net加入音乐 如何在vb中添加音乐
- 包含postgre日期取年的词条