Java经典ATM取款机实现:用户操作与菜单设计
需积分: 9 158 浏览量
更新于2025-01-04
收藏 37KB DOC 举报
在Java编程中,我们讨论的是一套经典的ATM(Automated Teller Machine)模拟问题,涉及用户类(User)、菜单类(Bank)和数据管理类(Data)。这个问题旨在通过这些类来模拟银行的基本操作,如查看余额、存款、取款和更改密码。
1. **用户类(User)**:
- 用户类定义了用户的主要属性,包括用户名、密码、账户余额和账户状态(是否冻结)。其中,`getMoney()`方法用于获取用户当前的账户余额,体现了数据的读取功能。
- `minusMoney(double moneyNum)` 方法允许用户取款,它接受一个参数(取款金额),并返回取款是否成功,这涉及到对账户余额的修改以及可能的异常处理。
- `changePassWord(String oldPassword, String newPassword)` 方法用于更改密码,它接受旧密码和新密码作为输入,返回密码更改的成功状态,可能需要进行身份验证。
- `saveMoney(double saveMoney)` 方法允许用户存款,同样会更新账户余额,成功则返回true。
2. **菜单类(Bank)**:
- `Bank` 类包含了ATM的各种操作菜单,如主菜单、管理员菜单、显示所有账户、冻结账户列表、可用账户列表、开户、插卡等。
- `mainMenu()` 方法是ATM的核心入口,显示所有可选的操作选项给用户。
- `adminMenu()` 提供了针对管理员的功能,例如查看特定类型的账户列表(如冻结或可用账户)。
- `showAllUser()`、`showUnEnabledUser()` 和 `showEnabledUser()` 分别用于展示不同状态的账户信息。
- `createCard()` 和 `insertCard()` 分别用于开户和插卡操作,可能是用户注册和登录的流程。
- `showCustomMenu(User user)` 在插卡成功后,显示特定用户的定制菜单,这可能包含用户个人的交易历史或者定制服务。
3. **数据类(Data)**:
- 数据类`Data`负责存储用户数据,通过一个User数组`userGroup`来管理100个用户。`getAllUsers()` 方法返回整个用户数组,体现了数据的管理和检索。
这套问题的核心在于设计一个简单的银行系统模型,通过面向对象的方式组织代码,让学生或开发者理解如何模拟银行交易逻辑、用户认证和数据管理。通过这个练习,可以学习到Java中的类、方法、参数传递以及数据结构(如数组)的运用。同时,还需要考虑异常处理、权限控制和用户体验设计等元素。
133 浏览量
256 浏览量
138 浏览量
186 浏览量
2016-04-10 上传
111 浏览量
2024-03-23 上传
151 浏览量
853 浏览量
lihui_life
- 粉丝: 6
- 资源: 11
最新资源
- 腾讯试题-笔试题题库-移动笔试题
- SQL Server 2000索引结构及使用方法
- EMI与EMC设计秘籍
- essential_mathematics_for_games_and_interactive_applications_a_programmers_guide_2nd_edition.pdf
- IBMPC汇编语言答案第二版
- 全国计算机等级考试2005.9三级网络技术
- object_oriented_programming_in_c++_4th_edition
- I2总线协议中文手册
- 软件设计师历年试题分析与解答
- AT24C02中文手册
- 计算机网络校园网课程设计
- AT89C51中文手册
- STL书籍 EffectiveSTL中文版
- 使用BlazeDS实现Java和Flex通信
- PureMVC_Implementation_Idioms_and_Best_Practices.pdf
- sun公司SCJP认证考试教程