模拟ATM机系统

const readline = require('readline-sync');

let users = [
['zhangsan', '123123', 1000],
['lisi', '000', 2000],
['1', '2', 3000]
];
// 登录
let login = function () {
let error = 3;
while (true) {
console.log('请输入用户名:');
let username = readline.question();
console.log('请输入密码:');
let password = readline.question();
for (let i = 0; i < users.length; i++) {
if (username === users[i][0] && password === users[i][1]) {
console.log('登录成功!');
menu(i);
return;
}
}
error--;
if (error <= 0) {
console.log('错误次数超过三次,登录失败!再见!');
break;
} else {
console.log(`账号或密码错误,你还有${error}次机会,请重新登录。`);
}
}
}
// 存钱
let saveMoney = function (i) {
while (true) {
console.log('请输入存款金额:');
let money = readline.question() - 0;
users[i][2] += money;
console.log(`存款金额为${money},当前账户余额为${users[i][2]}。`);
console.log('继续存款请按1,返回主菜单请按2。');
let option = readline.question();
if (option === '2') {
break;
}
}
}
// 取钱
let getMoney = function (i) {
while (true) {
console.log('请输入取款金额:');
let money = readline.question() - 0;
users[i][2] -= money;
console.log(`取款金额为${money},当前账户余额为${users[i][2]}。`);
console.log('继续取款请按1,返回主菜单请按2。');
let option = readline.question();
if (option === '2') {
break;
}
}
}
// 主流程
let menu = function (i) {
while (true) {
console.log('请选择业务:1.存款 2.取款 3.查询 4.退出');
let option = readline.question() - 0;
switch (option) {
case 1: saveMoney(i); break;
case 2: getMoney(i); break;
case 3: console.log(`当前账户余额为${users[i][2]}。`); break;
case 4: console.log('谢谢使用,再见!'); return;
}
}
}

login();

转载于:https://www.cnblogs.com/date150219-/p/9096482.html

### 回答1: Java MySQL模拟ATM机系统是一个使用Java编程语言和MySQL数据库技术来模拟实现ATM功能的项目。 首先,我们可以通过Java编写一个ATM类,该类包含账号管理、余额查询、取款、存款、转账、修改密码等功能。利用MySQL数据库存储相关数据。 在MySQL数据库中,我们可以设计一个"users"表来存储用户信息,包括账号、密码、姓名和余额等字段。 我们可以在Java程序中使用JDBC连接MySQL数据库,并通过SQL语句来实现以下功能: 1. 账号管理:在"users"表中插入一条新的用户记录,包括账号、密码、姓名和初始余额等信息。 2. 余额查询:通过输入账号,执行查询语句,从"users"表中获取对应账号的余额字段,并输出显示给用户。 3. 取款:通过输入账号和取款金额,执行更新语句,从"users"表中扣除对应账号的余额字段,并更新数据库中的余额记录。 4. 存款:通过输入账号和存款金额,执行更新语句,向"users"表中添加对应账号的余额字段,并更新数据库中的余额记录。 5. 转账:通过输入转出账号、转入账号和转账金额,执行更新语句,从转出账号扣除对应金额,向转入账号添加对应金额,并更新数据库中的余额记录。 6. 修改密码:通过输入账号和新密码,执行更新语句,将"users"表中对应账号的密码字段更新为新密码。 以上是简单的实现思路,具体实现还需考虑异常处理、用户界面设计等因素。同时,为了保障系统的安全性,我们可以加入数字密码验证、事务处理、账号锁定等制。 通过以上的实现,我们可以模拟ATM机系统的基本功能,增加额外的功能补充完善项目。 ### 回答2: Java MySQL模拟ATM机系统是一个基于Java和MySQL的项目,旨在模拟和实现ATM的基本功能。该系统具有如下特点和功能: 1. 用户登录:用户可以通过输入银行卡号和密码来登录系统。 2. 查询余额:登录后,用户可以查询自己的账户余额,系统将从数据库中查询并显示对应的余额信息。 3. 存款:用户可以选择将现金存入ATM中。在存款过程中,系统会检查输入金额的有效性,并将相应的金额更新到数据库中。 4. 取款:用户可以选择从ATM中取款。在取款过程中,系统会检查用户账户余额是否充足,并更新数据库中的账户余额。 5. 转账:用户可以选择将一定金额从自己的账户转到其他账户。在转账过程中,系统会进行双重验证和更新数据库信息。 6. 交易记录:系统可以记录每一笔交易的详细信息,包括交易类型、交易时间、交易金额等,并存储在数据库中。 7. 密码修改:用户可以选择修改自己的登录密码。系统将对用户输入的新密码进行验证,并更新数据库中的密码信息。 8. 退出系统:用户可以选择安全退出ATM机系统。 为了实现该系统,我们将使用Java编写程序,并借助MySQL数据库管理用户和交易信息。在MySQL中,我们将创建用户表和交易记录表,用于存储对应的数据。我们将使用Java JDBC来连接和操作MySQL数据库,通过执行SQL语句来实现对数据的增删改查。 通过以上的功能和技术实现,我们可以构建一个模拟ATM机系统,具备基本的账户管理、交易操作和查询功能。这个系统可以帮助用户在虚拟环境中进行安全、方便的账户管理和交易操作,并通过MySQL数据库保证数据的可靠性和持久性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值