Java ATM取款机程序 Java实现ATM取款机程序
码走江湖 人气:0对象说明:
功能:该程序的功能为实现模拟银行ATM自动取款机取款,存款,查询余额,转账等功能,只是完成了基本的功能。
思路:第一、登录判断,密码限制三次,使用for循环。第二、成功登录,选择相应的功能,使用switch语句。第四、实现功能的反复循环操作,因为次数不确定,使用while结构。第五、对每个功能模块进行填充完善。
代码展示:
import java.util.Scanner; public class BankATM { public static void main(String[] args) { Scanner input = new Scanner(System.in); String cardNum = "6228123123"; // 卡号 int pwd = 888888; // 密码 boolean flag = true; // 声明布尔类型变量 double surplus = 1000;// 余额 // 界面 System.out.println("---------欢迎使用工商银行ATM机---------"); /** 用于进行登录的次数限制止 **/ for (int i = 1; i <= 3; i++) { System.out.println("请插入您的银行卡:"); String inputCard = input.next(); System.out.println("请输入您的密码:"); int inputPwd = input.nextInt(); // 验证账号和密码 if (inputCard.equals(cardNum) && inputPwd == pwd) { flag = true; break; } else { if (i <= 2) { System.out.println("对不起,密码输入不正确,你还有" + (3 - i) + "次机会!"); } else { System.out.println("对不起,您的卡已被锁定!"); break; } flag = false; } } /** 登录成功后选择功能 */ if (flag) { char answer = 'y'; while (answer == 'y') { System.out.println("请选择功能:1.取款 2.存款 3.查询余额 4.转账 5.退出"); int choice = input.nextInt(); switch (choice) { case 1: // 执行取款操作 System.out.println("--->取款"); System.out.println("请输入取款金额:"); double getMoney = input.nextDouble(); if (getMoney > 0) { if (getMoney <= surplus) { if (getMoney % 100 == 0) { System.out.println("请取走您的钞票!余额为¥" + (surplus - getMoney)); } else { System.out.println("对不起,不能取零钱!"); } } else { System.out.println("对不起,余额不足!"); } } else { System.out.println("请输入正确的金额:"); } break; case 2: // 执行存款操作 System.out.println("--->存款"); System.out.println("请把钞票整理后放入存钞口:"); double saveMoney = input.nextDouble(); if (saveMoney > 0 && saveMoney <= 10000) { if (saveMoney % 100 == 0) { surplus += saveMoney; System.out.println("存款成功!余额为¥" + surplus); } else { double backMoney = saveMoney % 100; surplus = saveMoney + surplus - backMoney; System.out.println("存款成功!余额为¥" + surplus); System.out.println("请取走零钱¥" + backMoney); } } else if (saveMoney > 10000) { System.out.println("一次最多存入一万元,请分批存入!"); } else { System.out.println("存入的钞票是假钞,无效没收!"); } break; case 3: // 执行查询余额 System.out.println("--->查询余额"); System.out.println("您卡上的余额是:" + surplus); break; case 4: // 执行转账操作 System.out.println("--->转账"); System.out.println("请输入转账金额:"); double goMoney = input.nextDouble(); // 转账金额 if (goMoney > 0) { if (goMoney <= surplus) { System.out.println("转账成功!余额为¥" + (surplus - goMoney)); } else { System.out.println("对不起,请确保卡上有足够的余额!"); } } else { System.out.println("转账失败!请输入正确的金额:"); } break; case 5: // 执行退出操作 // System.out.println("--->退出"); System.out.println("谢谢您的使用!"); return; default: System.out.println("对不起,您选择的功能有误!"); break; }// switch end System.out.println("继续吗?y/n"); answer = input.next().charAt(0); } // while end System.out.println("谢谢您的使用!"); } } }
效果截图:
加载全部内容