您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
Java实现银行ATM功能示例?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
实现功能
1、用户需要通过输入银行卡号和密码才能进入ATM系统
2、用户可以在ATM中实现取款、存款、转账、余额查询、退出系统等功能
简单分析
1、创建User类(cardNo,identity,phone,username,password,balance(余额))
2、创建Bank类,主要实现初始化用户、用户登录、显示菜单、取款、存款、转账、余额查询、退出系统等功能。
代码实现
User.java
public class User { private String username; private int password; private String cardNo; private String identity; private String phone; private double blance; public User() { } public User(String username, int password, String cardNo, String identity, String phone, double blance) { this.username = username; this.password = password; this.cardNo = cardNo; this.identity = identity; this.phone = phone; this.blance = blance; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public int getPassword() { return password; } public void setPassword(int password) { this.password = password; } public String getCardNo() { return cardNo; } public void setCardNo(String cardNo) { this.cardNo = cardNo; } public String getIdentity() { return identity; } public void setIdentity(String identity) { this.identity = identity; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public double getBlance() { return blance; } public void setBlance(double blance) { this.blance = blance; } }
Bank.java
public class Bank { //创建用户数组 private User[] users=new User[100]; //用户个数 private int size=0; //当前登录的用户 private User loginuser; public Bank() { initial();//初始化用户 } /** * 初始化用户 */ public void initial(){ User user1=new User("钟爱",12346,"6226789234023434","130324192309123074","13133565435",2312313); User user2=new User("冷冬",12354,"6226789234023567","1305472309123074","13446745675",2333); User user3=new User("小龙",9893,"6226789234023564","13032414575467457","13145745435",255553); User user4=new User("赵丽颖",6342,"6226789234029324","130324192647456774","13145675435",288883); User user5=new User("徐三哥",8445,"6226789234025487","1303241923456744","1457785435",28989); users[0]=user1; users[1]=user2; users[2]=user3; users[3]=user4; users[4]=user5; size=5; } /** * 用户登录 */ public User login(String cardNo,int password){ for (int i = 0; i <size ; i++) { if((users[i].getCardNo().equals(cardNo))&&(users[i].getPassword()==password)){ loginuser=users[i]; return users[i]; } } return null; } /** * 显示菜单 */ public void showMenus(){ Scanner input =new Scanner(System.in); do { System.out.println("**********************************欢迎进入ATM系统*****************************************"); System.out.println("*********************1 存款 2 取钱 3 转账 4 查询余额 5 修改密码 0 退出***********************"); int choice=input.nextInt(); switch (choice){ case 1: //取款 save(); break; case 2: //存钱 withdraw(); break; case 3: //转账 trans(); break; case 4: //查询余额 query(); break; case 5: //修改密码 revise(); break; case 0: //退出ATM系统 System.out.println("欢迎下次使用本系统"); return; } } while (true); } /** * 存款操作 */ public void save(){ System.out.println("请输入您的存款金额:"); Scanner input=new Scanner(System.in); int money=input.nextInt(); if(loginuser!=null){ if(money>0){ loginuser.setBlance(loginuser.getBlance()+money); System.out.println("存款成功"); System.out.println("您的当前余额为"+loginuser.getBlance()); }else{ System.out.println("输入错误!"); } }else{ System.out.println("您还未进行账户登录"); } } /** * 取款操作 */ public void withdraw(){ Scanner input=new Scanner(System.in); System.out.println("请输入你要取出的金额为:"); int money=input.nextInt(); if(loginuser!=null){ if(money>0&&money<=loginuser.getBlance()){ loginuser.setBlance(loginuser.getBlance()-money); System.out.println("取款成功"); System.out.println("您的当前余额为:"+loginuser.getBlance()); }else{ System.out.println("输入错误"); } }else{ System.out.println("您还未进行账户登录"); } } /** * 转账操作 */ public void trans(){ Scanner input=new Scanner(System.in); System.out.println("请输入要转入账户的卡号:"); String cardNo=input.next(); User nuser=null;//对方账户 boolean IsExit=false;//判断对方账户是否存在 for (int i = 0; i <size; i++) { if(users[i].getCardNo().equals(cardNo)){ IsExit=true;//检索到对方账户 nuser=users[i]; } } if(loginuser==nuser){ System.out.println("不可以自己给自己账户进行转账"); return; } if(loginuser!=null){ System.out.println("请输入要转账的金额:"); int money=input.nextInt(); if(money>0&&money<=loginuser.getBlance()){ loginuser.setBlance(loginuser.getBlance()-money); nuser.setBlance(nuser.getBlance()+money); System.out.println("转账成功"); System.out.println("您当前余额为"+loginuser.getBlance()); System.out.println(nuser.getBlance()); }else{ System.out.println("输入错误"); } }else{ System.out.println("请登录账户"); } } /** * 查询余额 */ public void query(){ System.out.println("您的余额为:"+loginuser.getBlance()); } /** * 修改密码 */ public void revise(){ Scanner input=new Scanner(System.in); System.out.println("请输入您的新密码"); int newpassword=input.nextInt(); for (int i = 0; i < size; i++) { if(users[i]==loginuser){ users[i].setPassword(newpassword); //进行修改 } } System.out.println("密码修改成功"); } }
BankSystem.java
public class BankSystem { public static void main(String[] args) { Scanner input=new Scanner(System.in); Bank bank=new Bank(); System.out.println("请输入您的卡号:"); String cardNo=input.next(); System.out.println("请输入您的密码:"); int password=input.nextInt(); User user = bank.login(cardNo, password);//用户登录 if(user!=null){ System.out.println(user.getUsername()+"登陆成功"); bank.showMenus(); }else{ System.out.println("登陆失败"); } } }
看完上述内容,你们掌握Java实现银行ATM功能示例的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。