我是靠谱客的博主 活力鸡,最近开发中收集的这篇文章主要介绍Java ATM系统课程设计完整代码详细注释,注册,登录,查询,取款·,转账,修改密码 等功能 。直接上代码,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
注册,登录,查询,取款·,转账,修改密码 等功能 。直接上代码
首先定义一个用户类。代码如下
package mima; /** * 账户私有成员 * */ public class Acount1 { private String cardId; private String userNamer;//用户名; private String passWard; private double money; private double qoutmoney;//余额 public String getCardId() { return cardId; } public void setCardId(String cardId) { this.cardId = cardId; } public String getUserNamer() { return userNamer; } public void setUserNamer(String userNamer) { this.userNamer = userNamer; } public String getPassWard() { return passWard; } public void setPassWard(String passWard) { this.passWard = passWard; } public double getMoney() { return money; } public void setMoney(double money) { this.money = money; } public double getQoutmoney() { return qoutmoney; } public void setQoutmoney(double qoutmoney) { this.qoutmoney = qoutmoney; } }
然后就是完整的核心代码
package mima; import java.util.ArrayList; import java.util.Random; import java.util.Scanner; public class Atmsystem { public static void main(String[] args) { ArrayList<Acount1> acount1s = new ArrayList<>();//创建一个集合 Scanner sc = new Scanner(System.in); while (true) { System.out.println("======欢迎进入ATM系统======="); System.out.println("1.账户登录"); System.out.println("2.账户注册"); System.out.println("请选择你的操作:"); int co = sc.nextInt(); switch (co) { case 1: //登录操作 login(acount1s, sc); break; case 2: //注册操作ALT+ENTER; register(acount1s, sc);//传入扫描 break; default: System.out.println("你的选择不存在-"); } } } /** * @param acount1s 全部账户对象的集合 * @param sc */ private static void login(ArrayList<Acount1> acount1s, Scanner sc) { System.out.println("=============登陆操作============"); if (acount1s.size() == 0) { System.out.println("账号不存在--"); return; } while (true) { System.out.println("请您输入卡号:"); String cardd = sc.next(); Acount1 acc = getaccomtcardid(acount1s, cardd);//接受返回的对象 if (acc != null) {//登录密码 while (true) { System.out.println("请您输入密码:"); String paward = sc.next(); if (acc.getPassWard().equals(paward)) { System.out.println("登录成功!欢迎" + acc.getUserNamer() + "进入"); usermenu(sc, acc, acount1s); return; } else { System.out.println("密码错误!"); } } } else { System.out.println("该账号不存在!"); } } } /** * 用户操作页面 * * @param sc */ private static void usermenu(Scanner sc, Acount1 acc, ArrayList<Acount1> acount1s) { while (true) { System.out.println("=============用户操作页面============"); System.out.println("1,用户查询"); System.out.println("2,存款"); System.out.println("3,取款"); System.out.println("4,转账"); System.out.println("5,修改密码"); System.out.println("6,退出"); System.out.println("7,注销账户"); System.out.println("请选择:"); int com = sc.nextInt(); switch (com) { case 1: showaccont(acc); break; case 2: setmoney(sc, acc); break; case 3: pushmoney(sc, acc); break; case 4: tranermoney(sc, acount1s, acc); break; case 5: updatapassword(sc,acc,acount1s); return; case 6: System.out.println("退出成功"); return; case 7: if (deletueser(acc,acount1s,sc)) { return; } else { break; } default: System.out.println("您的选择错误:"); } } } private static boolean deletueser(Acount1 acc, ArrayList<Acount1> acount1s, Scanner sc) { System.out.println("==========销户操作页面=========="); System.out.println("确认销户?(输入”是“进行销户)"); String k = sc.next(); switch (k){ case "是": if(acc.getMoney()>0) { System.out.println("您账户中还有余额,不能销户"); return false; } else { acount1s.remove(acc); System.out.println("销户成功"); return true; } default: System.out.println("返回操作菜单"); return false; } } /** * * @param sc * @param acc */ private static void updatapassword(Scanner sc,Acount1 acc,ArrayList<Acount1> acount1s) { System.out.println("===============密码修改操作页面============="); while (true) { System.out.println("请输入原始密码:"); String passwd = sc.next(); if(acc.getPassWard().equals(passwd)) { while (true) { System.out.println("请输入新密码:"); String paw = sc.next(); System.out.println("请确认新密码:"); String pd = sc.next(); if(pd.equals(paw)) { acc.setPassWard(pd); System.out.println("密码修改成功"); return; } else { System.out.println("两次输入不相同,请重新输入:"); } } } else { System.out.println("密码错误请重新输入;"); } } } /** * 转账, * * @param sc * @param acount1s 集合 * @param acc 登录用户,对象 */ private static void tranermoney(Scanner sc, ArrayList<Acount1> acount1s, Acount1 acc) { System.out.println("===========进入转账============"); if (acount1s.size() < 2) { System.out.println("无其他用户"); return; } if (acc.getMoney() == 0) { System.out.println("余额不足-"); return; } while (true) { System.out.println("请输入对方卡号:"); String cid1 = sc.next(); if (acc.getCardId().equals(cid1)) { System.out.println("您不可以向自己转账"); continue; } Acount1 acont = getaccomtcardid(acount1s, cid1); if (acont == null) { System.out.println("账户不存在"); } else { String UserName = acont.getUserNamer(); String tip = "*" + UserName.substring(1); System.out.println("请您输入[" + tip + "]姓氏"); String pername = sc.next(); if (UserName.startsWith(pername)) { while (true) { System.out.println("请输入转账金额:"); double money = sc.nextDouble(); if (acc.getMoney() < money) { System.out.println("余额不足,你最多可以转" + acc.getMoney()); } else { acc.setMoney(acc.getMoney() - money); acont.setMoney(acont.getMoney() + money); System.out.println("转账成功,当余额为" + acc.getMoney()); return; } } } else { System.out.println("输入信息错误"); } } } } private static void pushmoney(Scanner sc, Acount1 acc) { if (acc.getMoney() < 100) { System.out.println("您当前余额小于100元,无法取出!"); return; } while (true) { System.out.println("请输入取款金额:"); double pmomey = sc.nextDouble(); if (pmomey > acc.getQoutmoney()) { System.out.println("您当前取出金额大于限定金额:" + acc.getQoutmoney() + "元"); } else { if (acc.getMoney() < pmomey) { System.out.println("您所剩余额不足 " + acc.getMoney() + "元"); } else { acc.setMoney(acc.getMoney() - pmomey); showaccont(acc); return; } } } } /** * 存钱 */ private static void setmoney(Scanner sc, Acount1 acc) { System.out.println("请输入存取金额:"); double money = sc.nextDouble(); acc.setMoney(acc.getMoney() + money); showaccont(acc); } /** * 用户信息展示; */ private static void showaccont(Acount1 acc) { System.out.println("当用户前信息如下:"); System.out.println("用户名:" + acc.getUserNamer()); System.out.println("卡号:" + acc.getCardId()); System.out.println("当前余额:" + acc.getMoney() + "元"); System.out.println("限额:" + acc.getQoutmoney() + "元"); } /** * 注册开户 * * @param acount1s//接收信息的集合 */ private static void register(ArrayList<Acount1> acount1s, Scanner sc) { System.out.println("========注册开户操作========"); //创建一个账户对象,用于后期封装账户信息, Acount1 acount1 = new Acount1(); //录入当前信息注入到,对象中去。 System.out.println("请输入用户名:"); String usernamer = sc.next(); acount1.setUserNamer(usernamer); while (true) { System.out.println("请输入密码:"); String password = sc.next(); System.out.println("请确认密码:"); String password1 = sc.next(); if (password.equals(password1)) { acount1.setPassWard(password1); break; } else { System.out.println("两次密码输入不一样,请重新输入"); } } System.out.println("请输入每次限额;"); double tomoney = sc.nextDouble(); acount1.setQoutmoney(tomoney); System.out.println("ok"); //为账户随机一个八位数且不重复,独立方法 String cardid = getrandomcard(acount1s); System.out.println("恭喜你" + usernamer + "开户成功!" + "您的卡号为" + cardid); acount1.setCardId(cardid); acount1s.add(acount1); } private static String getrandomcard(ArrayList<Acount1> acount1s) { //生成八位数 while (true) { Random r = new Random(); String cId = ""; for (int i = 0; i < 8; i++) { cId += r.nextInt(10); } //System.out.println("ok"); Acount1 acc = getaccomtcardid(acount1s, cId); if (acc == null) { return cId; } } } private static Acount1 getaccomtcardid(ArrayList<Acount1> acount1s, String cId) {//比较是否重复 for (int i = 0; i < acount1s.size(); i++) { Acount1 acc = acount1s.get(i); if (acc.getCardId().equals(cId)) { return acc; } } return null;//查无此账户 } }
最后
以上就是活力鸡为你收集整理的Java ATM系统课程设计完整代码详细注释,注册,登录,查询,取款·,转账,修改密码 等功能 。直接上代码的全部内容,希望文章能够帮你解决Java ATM系统课程设计完整代码详细注释,注册,登录,查询,取款·,转账,修改密码 等功能 。直接上代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复