实现了,登录,注册,查询,取款,存款,转账,修改密码,退出,注销等功能。 public class Atm { public static void main(String[] args) { ArrayList<user> User = new ArrayList<>(); while (true) { System.out.println("==========欢迎来到ATM系统=========="); System.out.println("请进行登录"); System.out.println("1.登录账号"); System.out.println("2.注册账号"); Scanner sc = new Scanner(System.in); String data = sc.next(); switch (data){ case "1": if (User.size()==0){ System.out.println("不好意思,系统内还未有任何账号,请先注册"); } else { //登录 login(sc,User); break; } case "2": //注册 enrol(sc,User); break; default: System.out.println("输入的操作有误"); break; } } } public static void login(Scanner sc,ArrayList<user> User){ System.out.println("==========欢迎来到登录操作=========="); System.out.println("请输入卡号"); String car = sc.next(); System.out.println("请输入密码"); String password=sc.next(); int ac = 0; for (int i = 0; i < User.size(); i++) { if ( User.get(i).getCar().equals(car)) { ac =1; if (User.get(i).getPassword().equals(password)){ //操作页面 System.out.println("恭喜"+User.get(i).getName()+"先生登录成功"); operate(sc,User,car); ac = 0; } else { System.out.println("输入的密码出错"); } } } if (ac ==1) { System.out.println("查无此人"); } } private static void operate(Scanner sc,ArrayList<user> User,String car) { boolean TF = true; while (TF) { 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("5、修改密码"); System.out.println("6、退出"); System.out.println("7、注销账户"); String se = sc.next(); switch (se){ case "1": inquire(User,car); break; case "2": deposit(sc,User,car); break; case "3": withdraw(sc,User,car); break; case "4": transfer(sc,User,car); break; case "5": modify(sc,User,car); break; case "6": System.out.println("退出成功"); TF = false; break; case "7": writeOff(sc,User,car); TF = false; break; default: System.out.println("输入的操作有误"); break; } } } private static void writeOff(Scanner sc, ArrayList<user> user, String car) { System.out.println("==========正在进行注销账号操作=========="); System.out.println("请输入注销卡号密码"); String password = sc.next(); for (int i = 0; i < user.size(); i++) { if (user.get(i).getPassword().equals(password)) { System.out.println("注销成功"); user.remove(i); } } } private static void modify(Scanner sc, ArrayList<user> user, String car) { System.out.println("==========正在修改密码=========="); System.out.println("请输入你想要的密码"); String password = sc.next(); for (int i = 0; i < user.size(); i++) { if (user.get(i).getCar().equals(car)){ user.get(i).setPassword(password); System.out.println("修改密码成功"); } } } private static void transfer(Scanner sc, ArrayList<user> user, String car) { System.out.println("==========正在进行转账操作=========="); if (user.size() >= 2){ System.out.println("请输入要转给金额的卡号"); String cars = sc.next(); int ac =0; for (int i = 0; i < user.size(); i++) { if (user.get(i).getCar().equals(cars)){//收款金额 ac = 1; System.out.println("请输入转账金额:"); double money = sc.nextDouble(); for (int j = 0; j < user.size(); j++) { if (user.get(j).getCar().equals(car)) {//转账金额 if(user.get(j).getAmount() >= money) { user.get(i).setAmount(user.get(i).getAmount() + money); user.get(j).setAmount(user.get(j).getAmount() - money); System.out.println("转账成功"); } else { System.out.println("金额不够"); } } } } } if (ac ==0) System.out.println("查无此人"); } else { System.out.println("本系统只有你一个账号,无法进行转账"); } } private static void withdraw(Scanner sc, ArrayList<user> user, String car) { System.out.println("==========正在进行取款操作=========="); for (int i = 0; i< user.size();i++) { if (user.get(i).getCar().equals(car)) { System.out.println("当前账号余额为:" + user.get(i).getAmount()); System.out.println("单日可取款金额为:" + user.get(i).getQuota()); System.out.println("请输入取款金额:"); double money = sc.nextDouble(); if(user.get(i).getQuota() >= money) { user.get(i).setAmount(user.get(i).getAmount() - money); user.get(i).setQuota(user.get(i).getQuota() - money); inquire(user,car); } else { System.out.println("单日可取款金额已超额"); } } } } private static void deposit(Scanner sc, ArrayList<user> User, String car) { System.out.println("==========正在进行存款操作=========="); System.out.println("请输入存款金额:"); double money = sc.nextDouble(); for (int i = 0; i < User.size(); i++) { if (User.get(i).getCar().equals(car)){ User.get(i).setAmount(User.get(i).getAmount()+money); System.out.println("存钱成功"); inquire(User,car); } } } private static void inquire(ArrayList<user> User,String car) { System.out.println("==========你当前账号信息如下=========="); System.out.println("卡号:"+car); for (int i = 0; i < User.size(); i++) { if (User.get(i).getCar().equals(car)) { System.out.println("户主:" + User.get(i).getName()); System.out.println("余额:" + User.get(i).getAmount()); System.out.println("当次取现额度:" + User.get(i).getQuota()); break; } } } public static void enrol(Scanner sc,ArrayList<user> User){ System.out.println("==========欢迎来到注册操作=========="); user users = new user(); System.out.println("请输入账号名称"); String name = sc.next(); users.setName(name); String password= null; while (true) { System.out.println("请输入密码"); password = sc.next(); System.out.println("请确认密码"); String repassword=sc.next(); if (password.equals(repassword)){ users.setPassword(password); break; } else { System.out.println("俩次输入密码不一致"); } } //生成卡号 String cars = getCars(User); users.setCar(cars); System.out.println("恭喜你,开户成功"+name+"先生,你的卡号为"+cars); User.add(users); } private static String getCars(ArrayList<user> user) { String setCar = ""; while (true) { for (int i = 0; i < 8; i++) { Random ran = new Random(); setCar += ran.nextInt(10); } for (int i = 0; i<user.size(); i++) { if (user.get(i).getCar().equals(setCar)){ setCar =""; break; } } if (setCar!=""){ break; } } return setCar; } }
java 银行管理系统
最新推荐文章于 2024-06-26 16:59:05 发布