模拟银行ATM存款存取款的相关功能

模拟银行ATM存款存取款的相关功能

具体需求:

  1. 模拟.3张银行卡,1001,1002,1003,分别设置密码和余额(可以用9个变里分别保存卡号.密码和余额)
  2. 提示用户输入银行卡和密码
  3. 如果用户输入正确—提示让用户选择取款﹒存款还是退出,并提示余额多少﹔若输入错误—重新输入卡号密码;
  4. 选择取款–-~提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额;
  5. 选择存款—输入存款额度,余额加上相应额度,并提示余额多少;
  6. 选择退出–―退卡
  7. 限制3次输入错误账号密码,提示银行卡已被锁定

上代码

public class ATM {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		
		String cid1 = "1001";
		String cpassWord1 = "123456";
		double cbalance1 = 1000;
		
		String cid2 = "1002";
		String cpassWord2 = "123456";
		double cbalance2 = 1000;
		
		
		String cid3 = "1003";
		String cpassWord3 = "123456";
		double cbalance3 = 1000;
		
		
		int count = 0; //统计连续输出错误次数
		while(true) {
			System.out.println("--------------ATM-----------------");
			//登录功能
			double balance = 0;
			System.out.println("请输入账号: ");
			String id = input.next();
			System.out.println("请输入密码: ");
			String pwd = input.next();
			if(id.equals(cid1) && pwd.equals(cpassWord1)) {
				balance = cbalance1;
			}else if(id.equals(cid2) && pwd.equals(cpassWord2)) {
				balance = cbalance2;
			}else if(id.equals(cid3) && pwd.equals(cpassWord3)) {
				balance = cbalance3;
			}else {
				count++;
				if(count == 0) {
					System.out.println("您已经输入三次,账号被锁定");
				}else {
					System.out.println("您已经输入"+count+"次,还有"+(3 - count)+"次机会");
					continue;	
					
				}
			
			}
			
			count = 0; //当在3次以内输入正确后,要清零,否则下一个账号会保存上一个账号输入错误次数
			//具体业务
			while(true) {
				System.out.println("请输入要办理业务编号:1.存款 2.取款 3.退卡");
				int flag = input.nextInt();
				if(flag == 1) {
					//控制存款业务
					while(true) {
						System.out.println("您的余额"+balance+"元,请输入您要存款金额:");
						double money1 = input.nextDouble();
						if(money1 <= 0) {
							System.out.println("您输入金额有误,不能小于等于0");
							continue;
						}else {
							balance += money1;
							System.out.println("您存款"+money1+"元,您的余额"+balance+"元");
							break;	
						}

					}
					
				}else if(flag == 2) {
					//控制存款业务
					while(true) {
						System.out.println("您的余额"+balance+"元,请输入您要取款金额:");
						double money2 = input.nextDouble();
						if(money2 > balance) {
							System.out.println("您输入金额有误,不能大于等于现在余额");
							continue;
						}else {
							balance -= money2;
							System.out.println("您取款"+money2+"元,您的余额"+balance+"元");
							break;	
						}

					}
					
				}else if(flag == 3){
					break;//退卡,重新输入卡号和密码
				}else {
					System.out.println("没有此业务,请重新选择");
					continue;
				}
				
				
			}
		}
		

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值