• 黑马程序员Java实战项目--- ATM系统


    项目介绍与功能演示

     黑马银行ATM系统技术选型分析:

     学习本项目,你将至少得到如下收获:

    1、优秀的面向对象编程能力。

    2、 清晰、缜密的业务、数据分析能力。

    3、熟练使用程序流程技术来控制计算机完成自己的想法。

    4、形成良好的编码习惯,获得一定的编码经验。提升业务分析和解决问题的能力,让基础知识形成体系结构,为后续Java高级技术的学习做有力的支撑。

    系统准备、首页设计

    系统准备内容分析:

    每个用户的账户信息都是一个对象,需要提供账户类。

    需要准备一个容器,用于存储系统全部账户对象信息。

    首页只需要包含:登录和注册2个功能。

    实现步骤:

    定义账户类,用于后期创建账户对象封装用户的账户信息。

    账户类中的信息至少需要包含(卡号、姓名、密码、余额、取现额度)

    需要准备一个ArrayList的集合,用于存储系统用户的账户对象。

    需要展示欢迎页包含2个功能:开户功能、登录账户。

    总结:

    1、用户的账户信息,系统如何表示的?

    定义账户类Account,定义系统关心的属性信息。

    2、系统采用什么来存储全部用户的账户对象信息?

    ArrayList<Account> accounts = new ArrayList<>();

    用户开户功能实现

    分析

    开户功能其实就是就是往系统的集合容器中存入一个新的账户对象的信息。

    开户功能实现步骤

    开户应该定义成一个方法,并传入账户集合:

    public static void register(ArrayList<Account> accounts

    创建一个Account账户类的对象用于封装账户信息(姓名、密码、卡号)

    键盘录入姓名、密码、确认密码(需保证两次密码一致)

    生成账户卡号,卡号必须由系统自动生成8位数字(必须保证卡号的唯一)

    Account账户对象存入到集合accounts中去。

    开户功能的实现需要哪几步操作,需要注意什么问题?

    开户功能应该独立定义成方法,并传入当前集合对象给该方法。

    创建一个Account账户对象,封装账户信息。

    录入开户信息(姓名、密码)

    卡号要自动生成且唯一

    Account对象,存入到集合中去。

    用户登录功能实现

    分析

    登录功能应该定义成一个方法,并传入账户集合:

    public static void login(ArrayList<Account> accounts) {

    让用户输入卡号,根据卡号去账户集合中查询账户对象。

    如果没有找到账户对象,说明登录卡号不存在,提示继续输入卡号。

    如果找到了账户对象,说明卡号存在,继续输入密码。

    如果密码不正确,提示继续输入密码

    如果密码也正确,登陆成功!!

    登录功能如何实现的?

    根据卡号去账户集合中查询对应的账户对象。

    如果找到了账户对象,说明卡号存在,继续输入密码。

    如果密码也正确,则登录成功。

    用户操作页设计、查询账户、退出账户功能

    用户操作页设计、查询账户、退出账户功能分析

    用户登录成功后,需要进入用户操作页。

    查询就是直接展示当前登录成功的账户对象的信息。

    退出账户是需要回到首页的。

    用户存款 

    存款分析

    存款就是拿到当前账户对象。

    然后让用户输入存款的金额。

    调用账户对象的setMoney方法将账户余额修改成存钱后的余额。

    存钱后需要查询一下账户信息,确认是否存钱成功了!

    取款功能

    取款分析

    取款需要先判断账户是否有钱。

    有钱则拿到自己账户对象。

    然后让用户输入取款金额

    判断取款金额是否超过了当次限额,以及余额是否足够

    满足要求则调用账户对象的setMoney方法完成金额的修改。

    用户转账功能

    分析

    转账功能需要判断系统中是否有2个账户对象及以上。

    同时还要判断自己账户是否有钱。

    接下来需要输入对方卡号,判断对方账户是否存在。

    对方账户存在还需要认证对方户主的姓氏。

    满足要求则可以把自己账户对象的金额修改到对方账户对象中去。

    用户登录后:密码修改、销户功能实现

    分析

    修改密码就是把当前对象的密码属性使用set方法进行更新。

    销户是从集合对象中删除当前对象,并回到首页。

     

  • 相关阅读:
    【Kotlin基础系列】第7章 类与对象(2)--- 继承
    Qt QChart 自定义qChartView(重写鼠标事件)完美实现缩放与平移(新增android下手势缩放实现)
    [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!
    Java小游戏:趣味猜数字
    Android切换主题生命周期流程与onSaveInstanceState和onRestoreInstanceState,Kotlin
    ChatGPT为企业应用赋能
    听GPT 讲Rust源代码--src/librustdoc
    Selenium自动化测试实战之自动化测试基础
    【已解决】由于此设备上的安全设置已更改,你的pin不再可用,单击以重新设置Pin
    深入理解JavaScript ES8的新特性
  • 原文地址:https://blog.csdn.net/JACK_SUJAVA/article/details/127673201