欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
	}
}

运行结果:
Java简单模拟ATM

相关标签: Java模拟ATM