设计一个银行账户管理系统

银行账户管理系统,使用HashMap函数做出来要比较容易一些,而我没有用到哈哈,这个系统开始搞的时候,还没有学到hashMap那儿,,,血亏

Java萌新上路,希望各位大佬猿,多多指教,评论区见呦🤞🤞🤞🤞🤞🤞

小编在实现银行账户管理的基础上,实现了注册多个账户而不造成数据混乱,注册时密码不少于六位,登录时验证用户名是否存在,以及密码是否匹配(若需要数字字母混合在一起,才可以注册成功之类的,在琢磨琢磨),………还没有设计出来注册时用户名是否有重复, 如果用hashMap就可以在注册的时候判断是否重名,后面在根据所学慢慢修改完善

欢迎使用银行账户管理系统
1.登录
2.注册
3.退出
请输入要执行的操作:

当前用户:&&&&&&
1.查询账户余额
2.转入
3.支出
4.查询交易记录
5.退出
请输入要执行的操作:

银行账户

### **银行账户** BankUser.java

import java.util.ArrayList;
import java.util.Scanner;

public class BankUser {
    ArrayList<Double> record = new ArrayList<Double>();
    Scanner in = new Scanner(System.in);

    private String userName;            //用户名
    private String password;            //密码
    double sum = 0.0;                   //银行账户总额
    double input;                       //转入金额
    double output;                      //支出金额

    public BankUser(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }

    public void userResearch(String number){                //用于实现银行的基本业务,即登录后的相关操作
        if(number.equals("1")){                             //查询账户余额
            System.out.println("账户余额为"+sum);
        }
        else if(number.equals("2")){                         //转入金额
            System.out.print("请输入转入多少金额:");
            input = in.nextDouble();
            sum += input;
            record.add(input);
            System.out.println("交易完成!");
        }
        else if(number.equals("3")){                         //支出金额
            System.out.println("请输入支出多少金额:");
            output = in.nextDouble();
            sum -= output;
            record.add(-output);
            System.out.println("交易完成!");
        }
        else if(number.equals("4")){                          //交易明细
            for(int j=1;j<=record.size();j++){
                if(record.get(j-1)>=0.0)
                    System.out.println(j+". +"+record.get(j-1));
                else
                    System.out.println(j+". "+record.get(j-1));
            }

        }
        else{                                                 //返回上个界面
            number="5";
        }
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

注册账号

### **注册账号**Register.java

import java.util.ArrayList;
import java.util.Scanner;

public class Register {
    ArrayList<BankUser> useRegister = new ArrayList<BankUser>();
    Scanner in = new Scanner(System.in);

    String name;        //用户名
    String word;        //密码

    public void addUser(BankUser user){             //将注册的信息添加进数组
        useRegister.add(user);
    }

    public void registerUser(){                     //注册
        System.out.print("请输入用户名:");
        name = in.nextLine();
        System.out.print("请输入密码:");
        word=in.nextLine();

        while(true){                                //密码不少于6位
            if(word.length()<6){
                System.out.println("密码长度不能小于6位,请重新输入:");
                word=in.nextLine();
            }
            else
                break;
        }
      //customer 客户 消费者
        BankUser customer = new BankUser(name,word);
        addUser(customer);
        System.out.println("注册成功!");
    }
}

登录

### **登录**Land.java

import java.util.Scanner;

public class Land {
    Scanner in = new Scanner(System.in);

    String name;                //用户名
    String word;                //密码
    String number;              //操作选项
    Register register;

    public Land (Register register){
        this.register=register;
    }

    public void userLand(){                 //登录
        System.out.print("用户名:");
        name = in.nextLine();
        System.out.print("密码:");
        word = in.nextLine();

        while (true){
            int i = 0;          //用于标记是否登录成功,方便退出循环
            int k = 0;
            for(BankUser user:register.useRegister){
                if(user.getUserName().equals(name)){
                    while (true){
                        int n = 0;
                        if(user.getPassword().equals(word)){
                            System.out.println("登录成功!");
                            i = 1;
                            n = 1;

                            /*--------------登录之后的界面--------------*/
                            System.out.println("当前用户:"+name);
                            System.out.println("1.查询账户余额");
                            System.out.println("2.转入");
                            System.out.println("3.支出");
                            System.out.println("4.查询交易记录");
                            System.out.println("5.退出");
                            System.out.println("请输入要执行的操作:");
                            /*----------------------------------------*/

                            while(true){                       //实现银行职能重复进行
                                number = in.nextLine();
                                user.userResearch(number);
                                if(number.equals("5")){
                                    k = 0;
                                    break;
                                }
                            }

                        }
                        else{
                            System.out.print("密码错误,请重新输入:");
                            word = in.nextLine();
                        }
                        if(n==1)break;
                    }
                }
                if(i==1)break;
                k++;
            }

            if(k==register.useRegister.size()){                 //遍历数组,若没相同用户名即不存在
                System.out.println("用户名不存在,请重新输入!");
                System.out.print("用户名:");
                name = in.nextLine();
                System.out.print("密码:");
                word = in.nextLine();
            }

            if(i==1)break;
        }
    }
}

请选择你要执行的银行业务

### **请选择你要执行的银行业务**Test.java

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Register register = new Register();
        Land land = new Land(register);
        Scanner in = new Scanner(System.in);

        String number;

        while(true){
            
          /*------------------初始界面------------------*/  
            System.out.println("欢迎使用银行账户管理系统");
            System.out.println("1.登录");
            System.out.println("2.注册");
            System.out.println("3.退出");
            System.out.print("请输入要执行的操作:");
            number = in.nextLine();
          /*--------------------------------------------*/

            if(number.equals("2")){                 //注册
                register.registerUser();
            }
            else if(number.equals("1")){            //登录
                land.userLand();
            }
            else if(number.equals("3"))             //退出
                break;
        }
    }
}
  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值