0
点赞
收藏
分享

微信扫一扫

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法


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

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

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

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

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


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

目录

​​项目场景​​

​​覆盖知识​​

​​项目需求 ​​

​​开发思路 ​​

​​类的属性和方法​​

​​代码展示 ​​

​​效果展示​​

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法_java

项目场景

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

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

覆盖知识

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

项目需求 

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

开发思路 

        (1)明确需求

        (2)编码顺序

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

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

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

        (3)逻辑测试

类的属性和方法

        属性:

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

        方法: 

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

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

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

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

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

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法_java_02

代码展示 

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、注册登录逻辑效果展示

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法_jvm_03

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

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法_提示信息_04

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

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

24、Java——银行存款取款系统(对象+集合)                       Java——常见异常的原因和解决办法_测试类_05

举报

相关推荐

0 条评论