• java编写银行管理 。ATM管理


    package Demo;
    
    import java.util.Date;
    import java.util.Scanner;
    //date是数据库中的一个用法,初始化后输出的是操作时的时间
    public class Test3 {
        static int n=0;//用于计算共有多少个账户
        static int bo=0;//用来判断取款是否成功
        static account []a=new account [50];//创建数组,用来存账户
        static String yh;//存取进行操作的账号
        static int m=0;//用来记录要操作的账户是数组中的第几个
        static int o=0;//用来记录要转账的账户是数组中的第几个
        static String mm;//用来存储要操作的账户的密码
        static char ch='x';//while循环使用
        static Scanner sca=new Scanner(System.in);//用于输入内容
        public static void main(String []args)
        {
            a[n++]= new account("1","2","3","4",500.0);//创建一个账户
            a[n++]= new account("2","3","4","4",1000.0);//创建一个账户
            
        //输入用户账号和密码
            //如果账号输入错误就重新输入,如果密码输入错误就退出操作
            //输入账号
            
            
            while(ch=='x')
            {
            System.out.println("请输入你的账号");
            yh=sca.next();
            System.out.println("请输入你的密码");
             mm=sca.next();
            int n2=0;//用来判断是否账号输入正确
            for(int i=0;i<n;i++)
            {
                if(a[i].getcdnum().equals(yh))
                {
                    n2=1;
                    m=i;
                }
                    
                }
                if(n2==0)
                {
                    System.out.println("你输入的卡号是错的,请重新输入");
                }
                else
                {
                    ch='z';
                }
            }
                
            
            //输入密码
            
            
                int n1=0;
                if(a[m].getmima().equals(mm))
                    {
                        n1=1;    
                    }
                if(n1==0)
                {
                    System.out.println("密码错误,无法进行操作");
                }
                //用户操作
                else
                {
                    while(ch=='z')//因为ch是static的,所以ch已被改编成‘z’
                    {
                    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:退出");
                    
                    
                    int xz=sca.nextInt();//输入选项
                    
                    switch (xz)
                    {
                    case 1://存款
                    {
                        System.out.println("请输入存款的金额");
                        int j1=sca.nextInt();
                        cunkuan(j1);
                        System.out.println("余额是"+a[m].getye());//输出进行的操作类型和进行操作的时间
                        
                        break;
                    }
                    case 2://取款
                    {
                        
                        qukuan();
                        if(bo==1)
                        {
                            System.out.println("取款成功");
                            a[m].settype("取款");
                            System.out.println(a[m].getdate().toString() + a[m].gettype());//输出进行的操作类型和进行操作的时间
                        }
                        else
                        {
                            System.out.println("取款失败");
                        }
                        break;
                    }
                    case 3://转账
                    {
                        
                        System.out.println("请输入需要转账的账户");
                        String cd1=sca.next();
                        int tj=0;
                        for(int i=0;i<n;i++)
                        {
                            if(a[i].getcdnum().equals(cd1))
                            {
                                o=i;
                                tj=1;
                            }
                        }
                        if(tj==0)
                        {
                            System.out.println("账号错误");
                        }
                        else
                        {
                            System.out.println("请输入需要转的金额");
                            double j1=sca.nextDouble();
                            if(a[m].getye()<j1)
                            {
                                System.out.println("余额不足");
                            }
                            else
                            {
                                zhuanzhang(cd1,j1);
                                a[m].settype("转账");
                                System.out.println(a[m].getdate().toString()+a[m].gettype());
                            }
                        }
                        break;
                    }
                    case 4://修改密码
                    {
                        System.out.println("请输入原密码:");
                        String m1=sca.next();
                        if(a[m].getmima().equals(m1))
                        {
                            System.out.println("请输入新的密码:");
                            String m2=sca.next();
                            a[m].setmima(m2);
                            a[m].settype("修改密码");
                            System.out.println(a[m].getdate().toString()+a[m].gettype());
                        }
                        else
                        {
                            System.out.println("密码输入错误");
                        }
                        break;
                    }
                    case 5://显示余额
                    {
                        System.out.println("余额是"+a[m].getye());
                        a[m].settype("显示余额");
                        System.out.println(a[m].getdate().toString()+a[m].gettype());
                        break;
                    }
                    case 6://退出
                    {
                        ch='x';
                    }
                    }
                    }
                }
        }
        private static account account(String string, String string2, String string3, String string4, double d) {
            // TODO Auto-generated method stub
            return null;
        }
        static void cunkuan(double ck)
        {
            double c=a[m].getye();
            a[m].setye(c+ck);
            a[m].settype("存款");
            a[m].setdate();
            
            System.out.println(a[m].getdate().toString() + a[m].gettype());
        }
        static int  qukuan()
        {
            bo = 0;//bo是静态的,所以需要在使用时,重新置为零
            System.out.println("请输入你需要取款的金额:");
            System.out.println("1:100元");
            System.out.println("2:500元");
            System.out.println("3:1000元");
            System.out.println("4:1500元");
            System.out.println("5:2000元");
            System.out.println("6:5000元");
            System.out.println("7:其他");
            int sz=sca.nextInt();
            switch(sz)
            {
            case 1:
            {
                if(a[m].getye()>=100)
                {
                    a[m].setye(a[m].getye()-100);
                    bo=1;
                }
                break;
            }
            case 2:
            {
                if(a[m].getye()>=500)
                {
                    a[m].setye(a[m].getye()-500);
                    bo=1;
                }
                break;
            }
            case 3:
            {
                if(a[m].getye()>=1000)
                {
                    a[m].setye(a[m].getye()-1000);
                    bo=1;
                }
                break;
            }
            case 4:
            {
                if(a[m].getye()>=1500)
                {
                    a[m].setye(a[m].getye()-1500);
                    bo=1;
                }
                break;
            }
            case 5:
            {
                if(a[m].getye()>=2000)
                {
                    a[m].setye(a[m].getye()-2000);
                    bo=1;
                }
                break;
            }
            case 6:
            {
                if(a[m].getye()>=5000)
                {
                    a[m].setye(a[m].getye()-5000);
                    bo=1;
                }
                break;
            }
            case 7:
            {
                System.out.println("请输入你想取的金额");
                double sz1=sca.nextDouble();
                if(a[m].getye()>=sz1)
                {
                    a[m].setye(a[m].getye()-sz1);
                    bo=1;
                }
                break;
            }
            }
            return bo;
        }
        static void zhuanzhang(String cd,double j)
        {
            a[m].setye(a[m].getye()-j);//要操作的账户余额减去j
            a[o].setye(a[o].getye()+j);//要转账的用户余额加上j
        }
    }
    class account{
        private String cdnum;//银行卡号
        private String name;//用户姓名
        private String type;//操作类型
        private Date date;//操作时间
        private String mima;//密码
        private double ye;//余额
        account(String c,String n,String d,String m,double y)
        {
            cdnum=c;
            name=n;
            date=new Date();
            mima=m;
            ye=y;
            type = "创建账户";
        }
        void setcdnum(String c)
        {
            cdnum=c;
        }
        String getcdnum()
        {
            return cdnum;
        }
        void setname(String n)
        {
            name=n;
        }
        String getname()
        {
            return name;
        }
        
        void settype(String n)
        {
            type=n;
        }
        String gettype()
        {
            return type;
        }
        
        void setdate()
        {
            date = new Date();
        }
        Date getdate()
        {
            return date;
        }
        void setmima(String m)
        {
            mima=m;
        }
        String getmima()
        {
            return mima;
        }
        void setye(double y)
        {
            ye=y;
        }
        double getye()
        {
            return ye;
        }
    }

     

  • 相关阅读:
    NPOI操作 EXCEL文件
    mysql 临时变量,临时表
    ReSharper制作Template帮助我们快速输入代码
    临时表的实际运用
    如何避免项目重复循环引用
    mysql 5.1以上版本数据库 使用定时器功能(Event)
    Fedora12下装SMPlayer
    Fedora12启动时激活网卡并将firefox不设置为脱机工作
    设置yum
    Fedora 有用更新源上海交大的yum源
  • 原文地址:https://www.cnblogs.com/qingtianxt/p/6070641.html
Copyright © 2020-2023  润新知