0


24、Java——银行存款取款系统(对象+集合)

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。

🍎个人主页:乐趣国学的博客

🍊个人信条:不迁怒,不贰过。小知识,大智慧。

💞当前专栏:Java案例分享专栏

✨特色专栏:国学周更-心性养成之路

🥭本文内容:Java——银行存款取款系统(对象+集合)

更多内容点击👇

                   Java——常见异常的原因和解决办法

                   Java——汽车租赁系统(对象+集合)

项目场景

    Java实现简单的银行存款取款系统

    本代码适合Java初学者小白,没有数据库的存储功能,熟悉对象+集合知识的应用;也可用对象+数组的知识改写。

覆盖知识

    程序基本概念、数据类型、流程控制、顺序、选择 、循环、跳转语句、变量、类、方法、继承、多态、集合等

项目需求

    简单的实现一个银行存取款系统,功能有:
     登录,注册,退出,存款,取款,转账,查询个人信息等功能。

开发思路

    (1)明确需求

    (2)编码顺序

            1)、先完成客户类的编写

            2)、再完成存取款系统的银行业务类的编写

            3)、最后完成测试类的编写

    (3)逻辑测试

类的属性和方法

** 属性:**

  • 客户类:账号 、密码、账户资金、姓名、联系电话
  • 银行业务类:忽略
  • 测试类:忽略

** 方法:**

方法主要都写在银行业务类中;

  1)欢迎界面的方法:本方法中,定义登陆前时的欢迎提示界面,主要包含(1:登录、2:注册、3:退出)三个选项的提示信息。根据提示信息,选择对应的操作。

  2)账户注册的方法:本方法中,主要实现账户注册的功能。

  3)账户登录的方法:本方法中,主要实现账户登录的功能。

  4)个人页面的方法:本方法中,主要实现账户登录账户登录成功后的相关操作,如:1:存款、2:取款、3:查询余额、4:转账、5:查询个人信息、6:退出登录

代码展示

1、客户类

package cn.bdqn.demo01;

public class BankUser {
    
    //封装属性
    private String accountNum;
    private String password;
    private int money=0;
    private String name;
    private String phone;
    
    //构造方法
    public BankUser(String accountNum, String password, String name,String phone) {
        this.accountNum = accountNum;
        this.password = password;
        this.name = name;
        this.phone = phone;
    }

    //添加get/set方法
    public String getAccountNum() {
        return accountNum;
    }

    public void setAccountNum(String accountNum) {
        this.accountNum = accountNum;
    }

    public String getPassword() {
        return password;
    }

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

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
    
    //遍历个人信息
    public void printInfo(){
        System.out.println("姓名:"+this.getName()+
                "\t\t\t账号:"+this.getAccountNum()+
                " \n密码:"+this.getPassword()+
                "\t\t\t账户资金:"+this.getMoney()+
                "\n联系电话:"+this.getPhone());
    }
}

2、银行业务类

package cn.bdqn.demo01;

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

public class BankMethod {
    
    //欢迎界面
    public static void bankInterface(Scanner sc, ArrayList<BankUser> user) {
        while (true) {
            System.out.println("==== 欢迎您使用银行存取款系统 ====");
            System.out.println();
            System.out.println("1:登录\t\t2:注册\t\t3:退出");
            int select = sc.nextInt();
            if (select == 1) {
                login(sc, user);
            } else if (select == 2) {
                register(sc, user);
            } else if (select == 3) {
                break;
            } else {
                System.out.println("输入有误!");
            }
        }
    }

    //账户注册
    public static void register(Scanner sc, ArrayList<BankUser> user) {
        System.out.println("==== 注  册 ====");
        int i = 0; 
        System.out.println("请输入注册账号:");
        String accountNum = sc.next();
        System.out.println("请输入注册密码:");
        String password = sc.next();
        System.out.println("请输入您的真实姓名:");
        String name = sc.next();
        System.out.println("请输入手机号:");
        String phone = sc.next();
        BankUser gr = new BankUser(accountNum, password, name, phone);
        user.add(gr);
        System.out.println("注册成功");
    }

    //账户登录
    public static void login(Scanner sc, ArrayList<BankUser> user) {
        System.out.println("==== 登  录 =====");
        System.out.println("请输入账号:");
        String zh = sc.next();
        System.out.println("请输入密码:");
        String mm = sc.next();

        for (int i = 0; i < user.size(); i++) {
            // System.out.println(user[i]);
            if (user.get(i) != null) {
                BankUser gr = user.get(i);
                // System.out.println(gr.getZijin());
                if (zh.equals(gr.getAccountNum()) && mm.equals(gr.getPassword())) {
                    System.out.println("登录成功!");
                    personalInterface(sc, user, gr);
                    return;
                }
            }
        }
        System.out.println("无此账号或密码错误!");
    }

    //个人页面
    public static void personalInterface(Scanner sc, ArrayList<BankUser> user, BankUser gr) {

        while (true) {
            System.out.println("==== 个人页面 =====");
            System.out.println("请选择您要办理的业务:");
            System.out.println("1:存款\t\t\t2:取款");
            System.out.println("3:查询余额\t\t4:转账");
            System.out.println("5:查询个人信息\t6:退出登录");
            int xuanze = sc.nextInt();
            if (xuanze == 1) {
                System.out.println("请输入存款金额:");
                gr.setMoney(gr.getMoney() + sc.nextInt());
                System.out.println("存款成功,当前余额:" + gr.getMoney() + "元");
            } else if (xuanze == 2) {
                System.out.println("请输入取款金额:");
                int qk = sc.nextInt();
                if (qk > gr.getMoney()) {
                    System.out.println("余额不足。。。");
                } else {
                    gr.setMoney(gr.getMoney() - qk);
                    System.out.println("取款成功,当前余额:" + gr.getMoney() + "元");
                }
            } else if (xuanze == 3) {
                System.out.println("当前余额:" + gr.getMoney() + "元");
            } else if (xuanze == 4) {
                System.out.println("请输入转账账号:");
                String zh = sc.next();
                System.out.println("请输入转账金额:");
                int jine = sc.nextInt();
                for (int i = 0; i < user.size(); i++) {
                    if (user.get(i) != null) {
                        BankUser gr1 = user.get(i);
                        if (zh.equals(gr1.getAccountNum())) {
                            gr1.setMoney(gr1.getMoney() + jine);
                            gr.setMoney(gr.getMoney() - jine);
                        }
                    }
                }
            } else if (xuanze == 5) {
                gr.printInfo();
            } else if (xuanze == 6) {
                return;
            }
        }
    }
}

3、测试类

package cn.bdqn.demo01;

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

public class BankTest {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        //定义一个BankUser集合
        ArrayList<BankUser> userList=new ArrayList<BankUser>();
         
         BankMethod.bankInterface(sc, userList);

    }

}

效果展示

1、注册登录逻辑效果展示

2、银行业务操作逻辑展示

部分逻辑有待优化,后期加上数据库等相关知识,会更新更优版本给广大博友!


   码文不易,本篇文章就介绍到这里,如果想要学习更多**Java系列知识**,请**关注博主**,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的**第四栏目**:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

标签: java jvm servlet

本文转载自: https://blog.csdn.net/hh867308122/article/details/127195594
版权归原作者 乐趣国学 所有, 如有侵权,请联系我们删除。

“24、Java&mdash;&mdash;银行存款取款系统(对象+集合)”的评论:

还没有评论