Java简单模拟ATM
程序员文章站
2022-04-02 11:52:43
...
说明:
示例比较简单,用户名和密码都是默认指定的
用户名:root
密码:123456
当用户名或密码输入错误时,会提醒再次输入,直到输入正确为止
注:代码写在了一个类文件中,代码可能较多,可能存在小问题,只能当作简单参考
基本功能:
/*
用户输入卡号
用户输入密码
验证登录
成功
输出主菜单
选择业务
查询:输出账号信息 1
存款:输入存款金额 2
存款
取款:输入取款金额 3
取款
退出:输出友好信息 4
失败
输出错误信息
*/
实现代码:
public class HM3 {
public static void main(String[] args) {
User user = new User();
User.shuru(user);
User.run(user);
}
}
// 用户类
class User {
static Scanner scanner = new Scanner(System.in);
static boolean flog = true;
public static final String USER = "root"; // 默认的用户名
public static final String PW = "123456"; // 默认的用户密码
// 基本属性
private String user_name;
private String user_pw;
private int sumMoney = 0; // 总金额
public String getUser_name() {
return user_name;
}
public String getUser_pw() {
return user_pw;
}
public void setUser_pw(String user_pw) {
this.user_pw = user_pw;
}
public void setUser_name(String user_name) {
this.user_name = user_name;
}
public User() {
super();
}
public User(String user_name, String user_pw) {
super();
this.user_name = user_name;
this.user_pw = user_pw;
}
static void shuru(User user) {
System.out.println("请输入用户账号:");
user.setUser_name(scanner.next());
System.out.println("请输入密码");
user.setUser_pw(scanner.next());
}
static void run(User user) {
if (user.Check(user.getUser_name(), user.getUser_pw())) {
User.ShowMenu();
while (User.flog) {
user.function(user);
}
} else {
System.out.println("账号或密码错误,请重新输入:");
User.shuru(user);
run(user);
}
}
// 验证方法
public boolean Check(String user_name, String user_pw) {
if (user_name.equals(USER) && user_pw.equals(PW)) {
return true;
} else {
return false;
}
}
private static void Next() {
System.out.println("请输入你的下一步操作");
}
// 菜单
public static void ShowMenu() {
System.out.println("**********************欢迎使用*************************");
System.out.println("请输入对应的数字选择基本功能!");
System.out.println(" 查询账号信息请按1");
System.out.println(" 存款请按2");
System.out.println(" 取款请按3");
System.out.println(" 退出请按4");
System.out.println("**********************谢谢合作*************************");
System.out.println("输入你要选择的操作!");
}
public void function(User user) {
int n;
n = scanner.nextInt(); // 输入要实现的功能
switch (n) {
case 1:
user.showInfor();
Next();
break;
case 2:
user.In();
Next();
break;
case 3:
user.Out();
Next();
break;
case 4:
//flog = false;
System.out.println("***************感谢您的使用************");
User.shuru(user);
run(user);
break;
}
}
// 输出基本信息
public void showInfor() {
System.out.println("账号:" + user_name);
System.out.println("余额:" + sumMoney);
}
// 存款
public int In() {
int m = 0;
System.out.println("输入要存的金额:");
m = scanner.nextInt();
sumMoney += m;
return sumMoney;
}
// 取款
public int Out() {
int m = 0;
System.out.println("输入要取的金额:");
m = scanner.nextInt();
if (sumMoney >= m) {
sumMoney -= m;
} else {
System.out.println("对不起,您的余额不足");
}
return sumMoney;
}
}
运行结果: