一、引言
随着金融行业的发展,ATM机已经成为人们日常生活中不可或缺的一部分。为了更好地理解ATM机的工作原理,本文设计并实现了一个基于Java的ATM机模拟程序。该程序通过模拟ATM机的操作流程,使用户能够体验到ATM机的基本功能。
二、系统设计与实现
1.用户登录模块
用户登录模块是系统的入口,用户需要输入正确的密码才能进入ATM机的操作界面。系统允许用户最多输入三次密码,如果三次均错误,则打印错误信息并退出系统。代码如下:
public static boolean login(Scanner sc) {
for (int i = 0; i < 3; i++) {
System.out.print("请输入密码:");
String pwd = sc.next(); // 接收用户输入的密码
if ("123456".equals(pwd)) { // 判断密码是否正确
return true; // 密码正确,登录成功
} else {
if (i == 2) {
System.out.println("密码3次输入错误,系统退出!");
} else {
System.out.println("密码错误,请重新输入:");
}
}
}
return false; // 3次输入密码均错误,登录失败
}
2.查询余额模块
查询余额模块用于显示用户当前的账户余额。用户选择查询余额操作后,系统会显示当前余额。如果用户选择1,显示当前余额。
3.存款模块
存款模块用于实现用户的存款功能。用户选择存款操作后,系统会提示用户输入存款金额,并更新账户余额。
4.取款模块
取款模块用于实现用户的取款功能。用户选择取款操作后,系统会提示用户输入取款金额。如果取款金额大于账户余额,系统会打印错误信息并提示余额不足;否则,系统会更新账户余额。
5.退出模块
退出模块用于实现用户的退出功能。用户选择退出操作后,系统会打印感谢信息并退出程序。
6.系统架构
本系统采用Java语言进行开发,主要包括用户登录模块、查询余额模块、存款模块、取款模块和退出模块。各个模块之间通过调用和返回实现数据的交互和功能的实现。程序代码如下:
import java.util.Scanner;
/**
* ATM机模拟程序
*/
public class ATM {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); // 创建Scanner对象以接收用户输入
int sum = 1000; // 初始化账户余额
// 登录流程
System.out.println("**欢迎使用ATM机!**,登录成功后,您可以进行如下操作:");
if (login(sc)) { // 调用login方法,如果登录成功则继续
System.out.println("登录成功,请操作:");
// 主操作循环
while (true) {
// 显示操作选项
System.out.println("1.查询余额");
System.out.println("2.存款");
System.out.println("3.取款");
System.out.println("4.退出");
// 接收用户选择的操作代码
int code = sc.nextInt();
// 根据用户选择执行相应操作
switch (code) {
case 1:
System.out.println("当前余额:" + sum);
break;
case 2:
System.out.println("请输入存款数:");
sum = save(sum, sc.nextInt()); // 调用存款方法并更新余额
break;
case 3:
System.out.println("请输入取款数:");
sum = del(sum, sc.nextInt()); // 调用取款方法并更新余额
break;
case 4:
System.out.println("谢谢使用!");
return; // 退出程序
default:
System.out.println("输入错误,请重新输入!");
}
}
}
}
/**
* 存款方法
* @param money 当前余额
* @param add 存款金额
* @return 更新后的余额
*/
public static int save(int money, int add) {
return money + add;
}
/**
* 取款方法
* @param money 当前余额
* @param jian 取款金额
* @return 更新后的余额(如果取款金额大于余额,则返回原余额并提示余额不足)
*/
public static int del(int money, int jian) {
if (jian > money) {
System.out.println("余额不足,无法取款!");
return money;
}
return money - jian;
}
/**
* 登录方法
* @param sc Scanner对象,用于接收用户输入
* @return 如果登录成功返回true,否则返回false
*/
public static boolean login(Scanner sc) {
for (int i = 0; i < 3; i++) {
System.out.print("请输入密码:");
String pwd = sc.next(); // 接收用户输入的密码
if ("123456".equals(pwd)) { // 判断密码是否正确
return true; // 密码正确,登录成功
} else {
if (i == 2) {
System.out.println("密码3次输入错误,系统退出!");
} else {
System.out.println("密码错误,请重新输入:");
}
}
}
return false; // 3次输入密码均错误,登录失败
}
}
三、系统测试
在系统设计完成后,我们对系统进行了全面的测试。测试结果表明,系统能够正确地实现用户登录、查询余额、存款、取款和退出等功能。同时,系统也具有良好的稳定性和可靠性。
四、结论
本文设计并实现了一个基于Java的ATM机模拟程序。该程序通过模拟ATM机的操作流程,使用户能够体验到ATM机的基本功能。测试结果表明,系统能够正确地实现各项功能,并具有良好的稳定性和可靠性。通过本程序的设计和实现,我们进一步了解了Java编程在模拟现实系统中的应用。
标签:Java,ATM,System,用户,余额,println,程序设计,out From: https://blog.csdn.net/yyhhh1/article/details/142891643