模拟ATM,程序描述如下: 使用字符用户界面。当输入给定的卡号和密码(初始卡号为123456,密码是666666)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、如果三次不能正确输入密码,则退出程序。 2、查询余额:初始余额为10000元 3、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 4、ATM存款:不能出现负存款。 5、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求才可以成功修改密码。 6、卡号、密码、余额可以写入文件中。 写出需求分析。
时间: 2024-03-07 20:53:43 浏览: 245
这个程序需要实现以下功能:
1. 用户登录ATM柜员机系统,需要输入卡号和密码。初始卡号为123456,密码是666666。
2. 如果三次不能正确输入密码,则退出程序。
3. 查询余额,初始余额为10000元。
4. ATM取款,每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。
5. ATM存款,不能出现负存款。
6. 修改密码,新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求才可以成功修改密码。
7. 卡号、密码、余额可以写入文件中。
为了实现这些功能,需要进行以下步骤:
1. 创建用户类,包括卡号、密码和余额等属性。提供相应的 setter 和 getter 方法。
2. 用户登录系统时,需要输入卡号和密码,并进行验证。如果三次不能正确输入密码,则退出程序。
3. 查询余额时,输出当前余额即可。
4. ATM取款时,需要输入取款金额,程序会检查金额是否为100的倍数、总额是否超过5000元、是否透支等条件。如果满足条件,则更新余额。
5. ATM存款时,需要输入存款金额,程序会检查金额是否为正数。如果金额为正数,则更新余额。
6. 修改密码时,需要输入旧密码和新密码。程序会检查新密码长度是否不小于6位、是否存在6位完全相同的情况,以及旧密码是否正确。如果符合要求,则更新密码。
7. 卡号、密码、余额可以写入文件中,可以使用文件输入输出流来实现。
需要注意的是,为了保证数据的正确性和安全性,应该对用户输入进行验证和处理,例如判断输入的密码是否正确、输入的取款金额是否为100的倍数、输入的存款金额是否为正数等。同时,为了提高程序的可扩展性和可维护性,可以将数据存储到数据库中,通过 DAO 层来操作数据库,而不是直接在测试类中操作对象。
阅读全文