ATM机(递归)
ATM机的主要操作如图所示:
查询余额
存款
取款
改密
退卡

package study05;
import java.util.Scanner;
public class Demo05 {
	Scanner scan = new Scanner(System.in);
	int pass = 123456;
	int money = (int)(Math.random()*1000);
	int count = 0;//记录输入密码的次数
	//登录
	public void login() {
		System.out.println("请输入密码:(只有3次机会)");
		int pass = scan.nextInt();
		//如果登录成功,进入主界面,否则继续登录
		if(this.pass == pass) {
			mainUI();
		}else {
			if(count <2) {
				count++;
				System.out.println("密码错误!请重新登陆!");
				login();
			}else {
				System.out.println("对不起!机会用完!请联系有关人员!");
			}
		}
		
	}
	
	
	//主界面
	public void mainUI() {
		System.out.println("请选择您要进行的操作:");
		int type = scan.nextInt();
		switch (type) {
		case 1:
			deposit();
			break;
		case 2:
			withdrawMoney();
			break;
		case 3:
			search();
			break;
		case 4:
			changePass();
			break;
		case 5:
			takeCard();
			break;

		default:
			break;
		}
	}
	
	
	//存款
	public void deposit() {
		System.out.println("请输入存款金额:");
		int money = scan.nextInt();
		if(money %100 != 0) {
			System.out.println("ATM只接收面值100元的人民币");
			deposit();
		}else {
			System.out.println("存款成功!");
			this.money += money;
			mainUI();
		}
	}
	
	//取款
	public void withdrawMoney() {
		System.out.println("请输入你要取款的金额:");
		int money = scan.nextInt();
		if(this.money < money) {
			System.out.println("对不起,余额不足!");
			withdrawMoney();
		}else {
			if(money % 100 != 0 ) {
				System.out.println("请输入整数金额");
				withdrawMoney();
			}else {
				System.out.println("取款成功!");
				this.money -= money;
				mainUI();
			}
		}
	}
	
	//查询
	public void search() {
		System.out.println("你的余额为:"+money);
		mainUI();
	}
		
	
	//改密
	public void changePass() {
		System.out.println("请输入旧密码:");
		int pass = scan.nextInt();
		if(this.pass == pass) {
			System.out.println("请输入新密码:");
			int newPass1 = scan.nextInt();
			System.out.println("请再次输入密码:");
			int newPass2 = scan.nextInt();
			if(newPass1 != newPass2) {
				System.out.println("两次密码不一致,请重新输入:");
				changePass();
			}else {
				System.out.println("修改成功!");
				mainUI();
			}
		}else {
			System.out.println("密码错误!请重新输入:");
			changePass();
		}
	}
	
	//退卡
	public void takeCard() {
		System.out.println("谢谢使用!欢迎下次光临!");
	}
	
	public static void main(String[] args) {
		new Demo05().login();
	}
}

相关文章:

  • 2021-09-26
  • 2021-07-08
猜你喜欢
  • 2022-12-23
  • 2021-12-19
  • 2021-12-17
  • 2021-09-29
  • 2022-12-23
  • 2021-09-05
  • 2021-06-22
相关资源
相似解决方案