如何实现 ATM模拟应用JavaR,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
1. 用户类
import java.util.Scanner; //用户类 public class MyUser { private String cardNumber="111"; //卡号 private String cardPassword="123"; //密码 static Scanner sc=new Scanner(System.in); // 用户登录 public boolean userLogin(){ System.out.println("请输入卡号:"); System.out.println("提示:模拟插入银行卡,系统中仅有卡号111,其它无效!"); String cnumber=sc.next(); System.out.println("请输入密码:"); System.out.println("提示:默认123!"); String cPassword=sc.next(); if (cnumber.equals(this.cardNumber) && cPassword.equals(this.cardPassword))return true; else return false; } }
2. ATM类
//ATM类 public class ATM { //[1]定义变量,用于模拟银行数据库相关信息 static int balance; //余额 //构造方法——用于对象初始化 public ATM() { showWelcome(); balance=200; } //[2-1]显示欢迎界面 public void showWelcome(){ System.out.println("###########################################################"); System.out.println("欢迎使用工商银行自动取款机!"); System.out.println("###########################################################"); } //[2-2]显示主操作界面 public void showMain(){ 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("请输入选择序号:"); } //[2-3]存钱 public void add(){ System.out.println(); System.out.println("请输入存款金额:"); System.out.println("提示:只可输入数字!"); int number=MyUser.sc.nextInt(); if(number > 0){ balance+=number; System.out.println("存款成功!"); } else { System.out.println("输入错误,存款失败!"); } show(); } //[2-4]取钱 public void sub(){ System.out.println(); System.out.println("请输入取款金额:"); System.out.println("提示:只可输入数字!"); int number=MyUser.sc.nextInt(); if(number > balance){ System.out.println("余额不足,取款失败!"); }else { balance-=number; System.out.println("取款成功!"); } show(); } //[2-5]查询余额 public void show(){ System.out.println(); System.out.println("当前余额为: " + balance + " 元"); System.out.println(); showMain(); } //[2-6]退卡 public void exitATM(){ System.out.println("卡已退出…………"); showWelcome(); } }
3. 主类
//主类 public class MyMain { public static void main(String[] args) { // 【1】面向对象方式实现 ATM objATM=new ATM(); //由于构造方法初识化了objATM这个对象,所以程序执行到这里已经显示ATM欢迎界面了 // 【2】调用MyUser的登录方法,实现登录功能 MyUser objUser=new MyUser(); int inNumber = 3 ; //定义变量,用于标记登录次数 boolean status=false; //用于标识用户登录状态 //[2-1]用户登录,通过status变量标识登录状态 do { status=objUser.userLogin(); if(status) { objATM.showMain();//显示主操作界面 break;//或者将循环条件设置为假 } else{ inNumber--; if (inNumber!=0) System.out.println("用户名或密码不正确,请重新输入!"); } } while (inNumber > 0); //[2-2]成功则选择操作 if(status) { boolean isSelect=true; while(isSelect) { //控制主功能菜单循环操作 String obj=MyUser.sc.next(); switch (obj) { case "1": objATM.show(); break; case "2": objATM.sub(); break; case "3": objATM.add(); break; case "4": isSelect=false; MyUser.sc.close(); objATM.exitATM(); } } } else { objATM.exitATM(); } } }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。