上一篇给出了工具类跟用户类, 现在给出业务类跟视图类
数据采用的是集合 ArrayList 来存储, 也可以改成用 HashMap 来存数据
废话不多说, 直接给代码好吧
首先是银行业务类 BankService
package com.ATM.service;
import com.ATM.bean.Account;
import java.util.ArrayList;
import java.util.List;
/**
* 银行业务员类
*/
public class BankService {
private List<Account> accountList = new ArrayList<>();
/**
* 验证卡号是否重复, 搜索卡号返回下标
* @param cardNum 新创建的卡号
* @return index=-1 表示卡号不重复 否则 返回重复卡号的下表 index
*/
public int checkCardNum(String cardNum) {
int index = -1;
for (int i = 0; i < accountList.size(); i++) {
Account account = accountList.get(i);
String ac = account.getCardNum();
if (cardNum.equals(ac)) {
index = i;
break;
}
}
return index;
}
/**
* 开户
* @param account 传入用户信息
* @return 开户是否成功
*/
public boolean openAccount(Account account) {
if (account == null) {
return false;
}
// 添加用户信息完成开户
accountList.add(account);
return true;
}
/**
* 根据账号密码登陆
* @param cardNum 账号
* @param password 密码
* @return 集合下标 index -1 表示账号密码错误
*/
public int login(String cardNum, int password) {
int index = -1;
for (int i = 0; i < accountList.size(); i++) {
// 循环取出每个账号
Account account = accountList.get(i);
if (account.getCardNum().equals(cardNum) && account.getPassword() == password) {
index = i;
break;
}
}
return index;
}
/**
* 存款
* @param index 账户所在的集合下标
* @param money 存入的钱
* @return Account 对象
*/
public Account inputAccount(int index, double money) {
if (index < 0 || index > accountList.size() || money < 1) {
return null;
}
Account account = accountList.get(index);
money = account.getMoney() + money;
// 修改账户余额
account.setMoney(money);
return account;
}
/**
* 取款
* @param index 账户所在集合下标 index
* @param money 要取出的余额
* @return Account 对象
*/
public Account outAccount(int index, double money) {
if (index < 0 || index > accountList.size() || money < 1) {
return null;
}
Account account = accountList.get(index);
double getMoney = account.getMoney()