java基础简单实现atm机,java编写atm系统

  java基础简单实现atm机,java编写atm系统

  

目录

一、前言二、使用步骤三、运行效果图:本文实例为大家分享了爪哇实现银行异步传输模式系统的具体代码,供大家参考,具体内容如下

 

  

一、前言

银行异步传输模式系列简单操作

 

  

二、使用步骤

1.创建用户信息类Account.java

 

  代码如下(示例):

  打包异步传输模式公共类帐户{私有字符串id;私有字符串名称;私人双平衡;私人双重规范;私有字符串密码;公共帐户(){ }公共帐户(字符串id,字符串名称,字符串密码,双余额,双定额){ this . id=id this . name=name this . password=密码;this . balance=balance this . norm=norm }公共字符串getId(){返回id;} public void setId(String id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} public double get balance(){ return balance;} public void set balance(double balance){ if(balance 0){ this。余额=0;} this.balance=余额;} public double get norm(){ return norm;} public void set norm(double norm){ if(norm=0 norm 50000){ this。norm=50000} this.norm=norm}公共字符串get password(){返回密码;} public void set password(字符串密码){ this。密码=密码;} }2.编写用户界面和操作功能(代码中含有注释)

  ATMSystem.java代码如下(示例):

  打包异步传输模式导入Java。util。*;公共类at m system { public static void main(String[]args){//1 .准备系统需要的容器对象,用于存储账户对象ArrayListAccount account=new ArrayList(100);//提前准备了,甄嬛用户信息,可删——自行注册帐户.添加(新帐户( 11111111 ,甄嬛,111,0.0, 30000));//2.准备系统首页,登录和开户//调用寿门方法寿门(账户);} //首页公共静态void shou main(ArrayListAccount帐户){扫描仪s

  c=new Scanner(System.in);        while(true){        System.out.println("=========欢迎您进入赵氏ATM系统=========");        System.out.println("1.登录账户");        System.out.println("2.注册开户");        System.out.println("请输入命令(1、2)选择对应操作:");        String a1=sc.next();        switch(a1){        case "1":            //登录            DL(account,sc);            break;        case "2":            //开户            ZC(account,sc);            break;        default:            System.out.println("错误:命令输入不规范!");        }}    }    //开户功能的实现    public static void ZC(ArrayList<Account> account,Scanner sc){        System.out.println("=========用户开户功能=========");        System.out.println("请输入姓名:");        String name=sc.next();        String password="";        while(true){            System.out.println("请设置密码:");            password=sc.next();            System.out.println("请再输入一次密码:");            String againPassword=sc.next();            if(password.equals(againPassword)){                break;            }else{                System.out.println("两次密码不一致,请重新设置密码!");            }        }        System.out.println("请输入取现限额:");        Double norm=sc.nextDouble();        if(norm<=0norm>50000){            norm=50000.0;            System.out.println("您的取现额度不规范,默认为50000元");        }        String id=ID(account);        Account accounts=new Account(id,name,password,0,norm);        account.add(accounts);       System.out.println("您的卡号为:"+id);    }    //随机生成八位数卡号不与已存在的卡号重复    //关键 !!!!!此方法与此方法下方的两个方法效果一样,任选其一public static String ID(ArrayList<Account> account){    while(true){        Random r=new Random();        String id="";        for(int i=0;i<1;i++){            int q=r.nextInt(2);            id+=q;        }int T=0;        for(int j=0;j<account.size();j++){            Account ac=account.get(j);                            if(ac.getId().equals(id)){                T=1;                break;            }        }        if(T==0){            return id;        }    }}//随机生成八位数卡号不与已存在的卡号重复//    public static String ID(ArrayList<Account> account){//        while(true){//        Random r=new Random();//        String id="";//            for(int i=0;i<8;i++){//            int q=r.nextInt(10);//              id+=q;//        }//            //判断卡号是否重复了//            Account ac=pdid(account,id);//            if(ac==null){//                //说明当前卡号没有重复//                return id;//            }//        }//    public static Account pdid(ArrayList<Account> account,String id){//        int acount=0;//        //如果有重复的返回重复的对象//        for(int i=0;i<account.size();i++){//            Account ac=account.get(i);//            if(id.equals(ac.getId())){//                return ac;//            }        //            }//        return null;        //    }    //登录    public static void DL(ArrayList<Account> account,Scanner sc){        //调用检查卡号的JC方法        Account acc=JC(account,sc);        while(true){            //核对输入密码        System.out.println("请输入密码:");        String password=sc.next();        if(acc.getPassword().equals(password)){            //登录后页面//操作页面            System.out.println("恭喜您,"+acc.getName()+"成功进入系统!");            showUser(account,acc,sc);            return;        }else{            System.out.println("密码错误!");        }        }}//检查登录卡号是否存在    public static Account JC(ArrayList<Account> account,Scanner sc){          while(true){            System.out.println("请输入卡号:");        String id=sc.next();           for(int i=0;i<account.size();i++){           Account acc=account.get(i);         if(id.equals(acc.getId())){             return acc;        }}            System.out.println("警告:卡号错不存在!");       }    }       //用户操作页面    private static void showUser(ArrayList<Account> account,Account acc,Scanner sc) {        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("请输入命令(1、2、3、4、5、6、7)选择对应操作:");        String a2=sc.next();        switch(a2){        case "1"://查询            CX(acc);            break;        case "2"://存款            CK(acc,sc);            break;        case "3"://取款            QK(acc,sc);            break;        case "4"://转账            ZZ(account,acc,sc);            break;        case "5"://修改密码            XG(acc,sc);            return;        case "6"://退出            System.out.println("欢迎下次登录!");            return;        case "7"://注销            SC(account,acc);            return;       default:           System.out.println("错误:命令输入不规范!");        }    }    }    //简单的删除该对象    private static void SC(ArrayList<Account> account,Account acc) {        account.remove(acc);        return;    }    //通过Account类中set方法修改对象的密码,可举一反三修改取款限额    private static void XG(Account acc, Scanner sc) {        while(true){            System.out.println("请输入修改后的密码:");        String mima=sc.next();        System.out.println("请再输入一次:");        String mm=sc.next();        if(mima.equals(mm)){            acc.setPassword(mima);            System.out.println("密码修改成功!");            System.out.println("请重新登录~~");            return;        }        }        }    //转账有账户个数限制,转账的卡号是否存在,并核对姓名,限制转账金额    //通过Account类中set方法修改对象的余额    private static void ZZ(ArrayList<Account> account,Account acc, Scanner sc) {        if(account.size()<2){            System.out.println("当前系统,账户不足2个,不支持转账!");            return;        }else{        while(true){            System.out.println("请您输入转账的账户卡号:");            String cards=sc.next();            for(int i=0;i<account.size();i++){                   Account car=account.get(i);                 if(cards.equals(car.getId())&&!cards.equals(acc.getId())){                     QR(car,sc);                     while(true){                         System.out.println("请您输入转账的金额:");                         double money=sc.nextDouble();                            if(money>acc.getNorm()){                                System.out.println("转账金额不能大于限额:"+acc.getNorm()+"元");                            }else if(money>acc.getBalance()){                                System.out.println("您的余额为:"+acc.getBalance()+"元,不支持大额度的转账金额!");                            }else{                                acc.setBalance(acc.getBalance()-money);                                car.setBalance(acc.getBalance()+money);                                System.out.println("转账成功,现在你的余额为:"+acc.getBalance());                                break;                     }                     }                     break;                }else{System.out.println("警告:卡号错,不存在!");}break;                  }break;               }        }    }    //确认转账对象的姓名,避免转错对象    private static void QR( Account car, Scanner sc) {        String name="**"+car.getName().substring(2);        while(true){            System.out.println("您确定要为"+name+"转账!");        System.out.println("请您输入对方姓名确认:");        String names=sc.next();        if(names.equals(car.getName())){            System.out.println("请继续转账");            break;        }else{            System.out.println("姓名不符合");        }        }    }    //取款是简单的修改余额,注意取款限额    private static void QK(Account acc, Scanner sc) {        while(true){            System.out.println("输入您要取款的金额:");        double money=sc.nextDouble();        if(money>acc.getNorm()){            System.out.println("取款金额不能大于限额:"+acc.getNorm()+"元");        }else if(money>acc.getBalance()){            System.out.println("您的余额为:"+acc.getBalance()+"元,不支持大额度的取款金额!");        }else{            acc.setBalance(acc.getBalance()-money);            System.out.println("取款成功,现在你的余额为:"+acc.getBalance());            break;        }    }    }    //存款是简单的修改余额    private static void CK(Account acc, Scanner sc) {        System.out.println("输入您要存款的金额:");        double money=sc.nextDouble();        double balance=acc.getBalance();        double bal=money+balance;        acc.setBalance(bal);        System.out.println("存款成功~您现在的金额为"+bal+"元");    }    //查询信息,通过Account类中get方法读出想知道的数据    private static void CX(Account acc) {        System.out.println("您的帐户信息如下:");        System.out.println("卡号:"+acc.getId());        System.out.println("姓名:"+acc.getName());        System.out.println("余额:"+acc.getBalance());        System.out.println("当前取现额度:"+acc.getNorm());    }    }

 

  

三、运行效果图:

 

  

 

  

 

  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持盛行IT。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: