需求
用Java开发一个可以正常运行的ATM机系统。
需要的功能包括【用户登录、存款、取款、查询余额,退出】操作。
代码
import java.util.Scanner;
public class ATMSystem {
private static String[] usernames = {
"user1", "user2", "user3"}; //用户账户名
private static String[] passwords = {
"123456", "654321", "111111"}; //用户密码
private static double[] balances = {
1000, 2000, 3000}; //用户账户初始余额
private static Scanner scanner = new Scanner(System.in); //给一个交互入口
public static void main(String[] args) {
System.out.println("欢迎使用李汉卿ATM机");
System.out.print("请输入账户名:");
String username = scanner.nextLine();
System.out.print("请输入密码:");
String password = scanner.nextLine();
// 用户登录校验
int index = findUser(username, password);
if (index == -1) {
System.out.println("账户名或密码错误,无法登陆");
return;
}
// 用户交互操作
while (true) {
System.out.println("请选择操作:");
System.out.println("1. 查询余额");
System.out.println("2. 取款");
System.out.println("3. 存款");
System.out.println("4. 退出");
int choice = scanner.nextInt();
switch (choice) {
case 1:
queryBalance(index);
break;
case 2:
withdraw(index);
break;
case 3:
deposit(index);
break;
case 4:
System.out.println("感谢使用李汉卿ATM机,您已成功退出登录");
return;
default:
System.out.println("您输入的序号无效,请重新输入");
}
}
}
// 用户登录校验,验证账号密码是否一致
private static int findUser(String username, String password) {
for (int i = 0; i < usernames.length; i++) {
if (usernames[i].equals(username) && passwords[i].equals(password)) {
return i;
}
}
return -1;
}
// 账户余额查询
private static void queryBalance(int index) {
System.out.println("账户余额为:" + balances[index]);
}
// 取款操作
private static void withdraw(int index) {
System.out.print("请输入取款金额:");
double amount = scanner.nextDouble();
if (amount > balances[index]) {
System.out.println("余额不足,无法取款");
} else {
balances[index] -= amount;
System.out.println("取款成功,账户余额为:" + balances[index]);
}
}
// 存款操作
private static void deposit(int index) {
System.out.print("请输入存款金额:");
double amount = scanner.nextDouble();
balances[index] += amount;
System.out.println("存款成功,账户余额为:" + balances[index]);
}
}
好啦,代码写完,让我们来测试一下看看效果!
功能验证
用户登录
首先我们采用错误的账号密码尝试一下登录:
然后来试一下正确的账号密码:
成功登陆并且显示操作列表。
用户存款
原本有余额1000,存入5000:
用户取款
现有金额6000,取款2000.5:
用户查询当前余额
用户尝试取出超过余额数目的金额
用户退出登录
以上就是简易版ATM机的全部代码和验证结果啦,拿去玩玩吧~
软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
希望看我写的文字的人,可以少走弯路 祝工作学习顺利。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。
作者 | 綦枫
出品 | 汉卿工作室