Java实现简易的ATM机完整注释版 (接上一篇)

上篇在这!!!点击这里进入上篇!!

上一篇给出了工具类跟用户类, 现在给出业务类跟视图类

数据采用的是集合 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()
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZDT0917

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值