package com.icbc.test;
public class Bank {
// 账户对象数组
private Account[] accounts = new Account[1000];
// 账户数量
private int accountNum;
// 开户
public Account createAccount(long id, String passwd, String
name, String personId, String email, int type) {
for (int i = 0; i < accountNum; i++) {
// 如果账户存在
if (accounts[i].getId() == id) {
return accounts[i];
}
}
// 创建账户对象,并设置账户各个属性
Account account = new Account();
account.setId(id);
account.setPasswd(passwd);
account.setName(name);
account.setPersonId(personId);
account.setEmail(email);
account.setType(type);
// 把账户对象保存到账户数组中
accounts[accountNum] = account;
// 账户数目+1
accountNum++;
return account;
}
public Account getAccount(long id) {
for (int i = 0; i < accountNum; i++) {
// 账户存在
if (id == accounts[i].getId()) {
return accounts[i];
}
}
return null;
}
public void printAccount(Account account) {
System.out.println("id:" + account.getId());
System.out.println("passwd:" + account.getPasswd());
System.out.println("name:" + account.getName());
System.out.println("personId:" + account.getPersonId());
System.out.println("email:" + account.getEmail());
System.out.println("type:" + account.getType());
System.out.println("balance:" + account.getBalance());
System.out.println();
}
// 登录
public Account login(long id, String passwd) {
for (int i = 0; i < accountNum; i++) {
// 账户存在并且密码正确
if (id == accounts[i].getId() && passwd ==
accounts[i].getPasswd()) {
return accounts[i];
}
}
return null;
}
// 存款
public Account deposit(long id, double money) {
for (int i = 0; i < accountNum; i++) {
// 如果账户存在
if (id == accounts[i].getId()) {
// 存款并重新设置账户余额
accounts[i].setBalance(accounts[i].getBalance() +
money);
return accounts[i];
}
}
return null;
}
// 取款
public Account withdraw(long id, double money) {
for (int i = 0; i < accountNum; i++) {
// 如果账户存在
if (id == accounts[i].getId()) {
// 获取账户余额
double balance = accounts[i].getBalance();
// 如果余额大于等于取款金额
if (balance >= money) {
// 取款并重新设置账户余额
accounts[i].setBalance(balance - money);
return accounts[i];
}
}
}
// 取款失败,返回null对象引用
return null;
}
// 统计银行所有账户余额总数
public double getAllBalance() {
double sum = 0;
for (int i = 0; i < accountNum; i++) {
sum += accounts[i].getBalance();
}
return sum;
}
}