概述
文章目录
- 2.综合案例:实现银行功能
- **2.1.要求:**
- **2.2.分析:**
- 2.3.添加类:初始化用户
- 2.4.Bank类
- 2.5.实现类
- 2.6.实现效果
2.综合案例:实现银行功能
2.1.要求:
- 用户输入正确的卡号和密码之后可以执行以下操作
- 菜单如下:
-
存款
-
取款
-
转账
-
查询余额
-
修改密码
-
退出
-
2.2.分析:
- User类(cardNo、identity、username、password、phone、balance)
- Bank类主要包括以下功能:
-
初始化用户(initial)
-
用户登录(login)
-
显示菜单(showMenu)
-
存款(save)、取款(withDraw)、转账(trans)、查询余额(query)、修改密码(modifyPassword)
-
2.3.添加类:初始化用户
2.3.1.User类
实体类
/**
* 用户类
* @author
tansk
*/
public class User {
//卡号
private String cardNo;
//身份证
private String idetity;
//用户名
private String username;
//密码
private String password;
//电话
private String phone;
//余额
private double balance;
//构造方法
public User(){}
public User(String cardNo, String idetity, String username, String password, String phone, double balance) {
this.cardNo = cardNo;
this.idetity = idetity;
this.username = username;
this.password = password;
this.phone = phone;
this.balance = balance;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public String getIdetity() {
return idetity;
}
public void setIdetity(String idetity) {
this.idetity = idetity;
}
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;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
@Override
public String toString() {
return "User{" +
"cardNo='" + cardNo + ''' +
", idetity='" + idetity + ''' +
", username='" + username + ''' +
", password='" + password + ''' +
", phone='" + phone + ''' +
", balance=" + balance +
'}';
}
}
2.4.Bank类
实现功能:
- 用户初始化
- 登录
- 菜单
- 存款
- 取款
- 转账
- 查询余额
- 修改密码
- 退出
/**
* 银行类
*
* @author tansk
*/
public class Bank {
//创建数组
private User[] users = new User[5];
//保存个数
private int size;
//1.初始化方法
public void initial() {
//创建user1
User user1 = new User();
user1.setCardNo("666666");
user1.setIdetity("014607");
user1.setUsername("tansk");
user1.setPassword("123456");
user1.setPhone("10086");
user1.setBalance(1000);
//创建user2
User user2 = new User("777777", "9587", "liubei", "123456", "10011", 2000);
//创建user3
User user3 = new User("888888", "007", "xianyu", "123456", "10020", 3000);
//添加元素
users[0] = user1;
users[1] = user2;
users[2] = user3;
size = 3;
System.out.println("用户初始化完成!!!");
}
//2.用户登录
public void login() {
Scanner input = new Scanner(System.in);
System.out.println("请输入卡号:");
String cardNo = input.next();
System.out.println("请输入密码:");
String password = input.next();
//遍历数组
User u = null;//保存找到的用户
for (int i = 0; i < size; i++) {
if (users[i].getCardNo().equals(cardNo) && users[i].getPassword().equals(password)) {
u = users[i];
break;
}
}
if (u != null) {
//显示菜单
showMenu(u);
} else {
System.out.println("卡号或密码错误...");
}
}
//3.显示菜单
public void showMenu(User u) {
Scanner input = new Scanner(System.in);
System.out.println("=========" + u.getUsername() + " welcome to the tansk-bank system =======");
//循环选择
boolean flag = true;
while (flag = true) {
System.out.println("=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===");
int choice = input.nextInt();
switch (choice) {
case 1:
this.save(u);
break;
case 2:
this.withDraw(u);
break;
case 3:
this.trans(u);
break;
case 4:
this.query(u);
break;
case 5:
this.modefyPassword(u);
break;
case 0:
return;
default:
System.out.println("输入错误!!!");
flag = false;
break;
}
}
}
//4.存钱
public void save(User u) {
Scanner input = new Scanner(System.in);
System.out.println("请输入存款金额");
double m = input.nextDouble();
if (m > 0) {
u.setBalance(u.getBalance() + m);
System.out.println("存钱成功,余额:" + u.getBalance());
} else {
System.out.println("存钱失败!请重新输入...");
}
}
//5.取钱
public void withDraw(User u) {
Scanner input = new Scanner(System.in);
System.out.println("请输入取款金额");
double m = input.nextDouble();
if (m > 0 && u.getBalance() >= m) {
u.setBalance(u.getBalance() - m);
System.out.println("取钱成功,余额:" + u.getBalance());
} else {
System.out.println("取钱失败!请重新输入...");
}
}
//6.转账
public void trans(User u) {
Scanner input = new Scanner(System.in);
System.out.println("请输入对方卡号:");
String cardNo = input.next();
System.out.println("请输入转账金额:");
double m = input.nextDouble();
//判断对方卡号是否存在
User toUser = null;
for (int i = 0; i <= size; i++) {
try {//避免出现空指针异常
if (users[i].getCardNo().equals(cardNo)) {
toUser = users[i];
break;
}
} catch (Exception e) {
break;
}
}
if (toUser != null) {//存在对方卡号
if (u.getBalance() >= m) {//转账
u.setBalance(u.getBalance() - m);
toUser.setBalance(toUser.getBalance() + m);
System.out.println("转账成功!!!");
} else {
System.out.println("余额不足,转账失败!");
}
} else {
System.out.println("对方卡号不存在");
return;
}
}
//7.查询余额
public void query(User u) {
System.out.println("卡号:" + u.getCardNo() + "余额:" + u.getBalance());
}
//8.修改密码
public void modefyPassword(User u) {
Scanner input = new Scanner(System.in);
System.out.println("请输入新的密码:");
String password = input.next();
if (password.length() == 6) {
u.setPassword(password);
} else {
System.out.println("输入密码不符合要求");
}
}
}
2.5.实现类
public class Application {
public static void main(String[] args) {
Bank b1=new Bank();
b1.initial();
b1.login();
}
}
2.6.实现效果
用户初始化完成!!!
请输入卡号:
666666
请输入密码:
123456
=========tansk welcome to the tansk-bank system =======
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
4
卡号:666666余额:1000.0
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
1
请输入存款金额
100
存钱成功,余额:1100.0
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
2
请输入取款金额
100
取钱成功,余额:1000.0
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
3
请输入对方卡号:
888888
请输入转账金额:
100
转账成功!!!
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
4
卡号:666666余额:900.0
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
5
请输入新的密码:
123456
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
3
请输入对方卡号:
98556123546535
请输入转账金额:
120
对方卡号不存在
=== 1.存款 2.取款 3.转账 4.查询余额 5. 修改密码 0.退出 ===
0
Process finished with exit code 0
最后
以上就是欢呼香氛为你收集整理的java简单实现银行业务的全部内容,希望文章能够帮你解决java简单实现银行业务所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复