项目场景
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 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 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 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 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 userList=new ArrayList(); BankMethod.bankInterface(sc, userList); } }
效果展示
1、注册登录逻辑效果展示
2、银行业务操作逻辑展示