首页 > 编程语言 >Java实现ATM机模拟系统(week1)

Java实现ATM机模拟系统(week1)

时间:2024-03-31 23:32:10浏览次数:25  
标签:Java 登录 账户 ATM 用户 密码 week1 操作 输入

目录

目的

项目规划(第一周)

ATM机系统

第一周

需求分析

账户管理大类

Account(账户)类

AccountOperations(对账户操作)接口

创建账户

账户内容管理

账户权限管理

User类

UserOperations(用户操作)接口

Operations类

货币大类

基本属性

方法

操作界面

合作开发(利用git)

后言


 

目的

为了快速了解并学习Java知识,博主想要做一个ATM机模拟系统(和朋友一起),同时写下博客记录这一过程。

项目规划(第一周)

ATM机系统

货币的存储管理系统,主要实现一下功能:

  1. 注册登录、保存用户信息

  2. 操作页展示、查询账户、修改账户信息

  3. 存款、取款

  4. 转账

第一周

  1. 账户管理大类

  2. 货币大类

  • 建立类、类的属性、类之间的关系、类包含的方法(大概的基础功能方法,只需写出,不用实现)。
  • 进行需求分析,设想项目的需要实现哪些功能,系统的模式、规则,思考该怎么体现继承、多态、集合。

需求分析

账户管理大类

Account(账户)类

(1)基本属性 :用户账号(account)、账号密码(cipher)、账户余额(deposit)、年利率(annual Interest Rate)、存款时间(time)按年来算。

(2)私有方法:setCipher()方法(修改密码)、getDeposit() 方法获取账户余额。

AccountOperations(对账户操作)接口

创建账户
  • 根据不同地区,1 到 6位有不同的固定的银行代号数字;

  • 7 到 15 位为随机给出的数字(Random);

  • 第 16 位数由前十五位数按特定方式得出;

  • 用户输入手机号码。

  • 密码为用户自定义。

  • 完成创建

账户内容管理
  • 保存账户信息(SaveAccountInformation):使用I/O类库中的方法对文件进行操作,将用户的信息存入文件,以便下一次能够找到。

  • 调出账户信息(RetrieveAccountInformation):从文件中调出与账号密码匹配的相关信息。

账户权限管理
  • 登录账户:从保存用户信息的文件中查找是否存在该账户,如果不存在则提示”该用户不存在“,如果存在则对用户输入的密码和该账户密码进行比较判断,如果错误则提示”密码错误,请重新输入“,如果正确则弹出操作页面让用户选择下一步操作。

  • 忘记密码操作,要求用户输入手机号码,与文件中的数据匹配之后可以触发修改密码的操作。

  • 退出账户:退出账户后应该自动保存这次用户操作之后的用户信息到指定文档中。并且退出到登录用户界面。

User类

基本属性:用户登录时输入的账号(account)和密码(cipher)。

基本方法:ATM机系统用户操作端 operationEnd()方法。

UserOperations(用户操作)接口

  • 存钱:修改账户中私有变量 存款(deposit),并保存

  • 取钱:修改账户中私有变量 存款(deposit),并保存

  • 查询账户余额。

  • 修改密码:首先要先输入以前的密码,失败提示”重新输入“,成功就提示”新密码“,用户就可以输入6位数的新密码,注意如果新密码和旧密码相同,则提示”密码不能和之前相同“。

  • 转账:输入要转入账户的卡号,然后输入要转入金额,输入密码,如果账户余额大于转出金额,则提示”转入成功“,否则提示”余额不足“。转账完毕后,自动保存转出和转入账户信息。

  • 货币交换

Operations类

接上接口 UserOperations接口 和 AccountOperations接口,通过用户类中传入的参数来具体实现一系列的操作。

货币大类

基本属性

货币价值(与其他货币交换的比率)。

方法
  • 用外币交换人民币

  • 用人民币交换外币

  • 存入币种为外币时,自动转化为人民币数额加入余额中。

  • 同理,取出时可以选择币种,取出数额转换为人民币扣除。

操作界面

(1)打开系统后,弹出登录页面,提供两种登录方式(手机号登录与账号登录),提供四种操作,切换登录方式,创建账户,忘记密码以及退出系统。

(2)登录成功后,展示主界面,提供用户的主要操作:

  • 存取

  • 转账

  • 改密

  • 查询余额

  • 货币交换

  • 操作日志查询

  • 退出系统

(3)在每项具体操作中,都提供返回上一页的操作,以便用户能撤销此次操作。

合作开发(利用git)

 借助git,利用gitee远程库,实现合作开发。

后言

第一周主要进行了ATM模拟系统的需求分析,学习了git的使用并初步搭建了一个git库便于进行合作开发,同时在IDEA中对项目代码进行了基本架构。

标签:Java,登录,账户,ATM,用户,密码,week1,操作,输入
From: https://blog.csdn.net/enternal_/article/details/137212129

相关文章

  • .net和java串口通讯压力测试对比
    最近由于工作要求,需要对一个串口通讯设备进行压力测试,要求连续持续对串口设备发送指令,无间隔,测试设备是否会死机。要求做到毫秒级,测试第三方的工具,基本上都无法达到毫秒级,最少的也是10毫秒。于是就自己写代码测试。通过.net写,发现最少能达到1毫秒,但是有遗漏,看日志如下2024-03-3......
  • 解决 java.sql.SQLException:null,message from Server:"Host 'xxx' is not allowed t
    问题:url中机器地址写127.0.0.1或是localhost时不会发生,但写真实IP就出现此异常,即使从本机运行也会出此错。解决方法:在MySQL控制台,执行以下命令:mysql>usemysql;Databasechangedmysql>updateusersethost='%'whereuser='root';QueryOK,1rowaffected(0.04sec)......
  • 史上最全Java核心面试题(带全部答案)2024年最新版
    今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次。对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦。在跳槽季来临之前,特地做这个系列的文章,一方面帮助自己巩固下基础,另一方面也希望帮助想要换工......
  • JavaScript基础篇3【数组】
    今日学习内容什么是数组简单理解就是用于临时存储同类数据,本质上是一种具有顺序的特殊对象【当然其实是可以存储不同的数据类型的,只是说那样做很少,所以一般就如前一样理解】数组的定义JavaScript中有两种定义数组的方式:实例化Array对象【称之为“完整形式”】vararr......
  • java(包)package(1)
    为了使类型更容易找到和使用,避免命名冲突,以及控制访问,程序员将相关类型类编排到包中。定义:包是一组提供访问保护和名称空间管理的相关类型。注意,类型指的是类、接口、枚举和注释类型。枚举和注释类型分别是特殊类型的类和接口,因此在本文中,类型通常被简单地称为类和接口。......
  • java(包)package(3)
    命名包由于世界各地的程序员都使用Java编程语言编写类和接口,因此许多程序员可能会对不同的类型使用相同的名称。当定义了一个Rectangle类时,但该类Rectangle在java.awt包定义过。但是,如果两个类位于不同的包中,编译器允许它们具有相同的名称。每个Rectangle类的完全限定名包括包......
  • Java(3) ----- File类、IO流、基本软件结构
    File类:代表当前操作系统的文件对象。File类:建用来操作操作系统的文件对象的,删除文件,获取文件信息,创建文件(文件夹)广义来说操作系统认为文件包含(文件和文件夹)File类创建文件路径:相对路径:默认是直接相对到工程目录下寻找文件的;分隔符:File:separatorgetAbsolutePath()绝对......
  • Java继承<一>
    目录继承作用继承概念继承语法访问父类成员变量1.子类和父类不存在同名成员变量2.子类和父类成员变量同名访问父类成员方法1.成员方法名字不同2.成员方法名字相同super关键字继承作用Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以......
  • Java方法介绍及使用
    目录一方法概念及简单使用1.什么是方法2.方法的定义3.注意事项4.方法调用的执行过程5.实参和形参的关系(重要)6.没有返回值的方法二方法重载关于方法签名三方法递归(注意效率问题)递归的概念递归执行过程分析一方法概念及简单使用1.什么是方法是能够模块化的组......
  • java的类,对象和构造方法
    学习目标:掌握类,对象和构造方法的创建和使用学习内容:Java中的类和对象构造方法Java中的类和对象:类和对象的定义类Java当中,类可以理解为某一类东西,比如在现实生活中,水果,蔬菜等等都属于类的定义。在编写代码时,主要使用的语句是publicclass+类名,例如这里创建水果类:......