package hello;
import java.sql.SQLException;
public class Customer {
// 连接数据库并打印操作界面
static void displayMenu(hello.Main.Inter in) {
// 定义循环变量
boolean isRunning = true;
while (isRunning) {
System.out.println("----- 操作界面 -----");
System.out.println("1. 存款");
System.out.println("2. 取款");
System.out.println("3. 转账");
System.out.println("4. 修改密码");
System.out.println("5. 退出");
System.out.println("--------------------");
System.out.print("请输入选项数字: ");
int choice = in.scanner.nextInt();
in.scanner.nextLine();
switch (choice) {
case 1:
DepositMoney(in);
break;
case 2:
WithdrawMoney(in);
break;
case 3:
TransferAccounts(in);
break;
case 4:
ChangePassword(in);
break;
case 5:
System.out.println("退出功能:");
isRunning = false;
break;
default:
System.out.println("无效的选项,请重新输入。");
break;
}
}
in.account=null;
}
// 存款函数
private static void DepositMoney(hello.Main.Inter in) {
try {
// 获取用户输入的存款金额
System.out.println("请输入存款金额:");
double depositAmount = in.scanner.nextDouble();
// 查询顾客表中对应账号的数据
String selectSql = "SELECT * FROM customer WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(selectSql);
in.preparedStatement.setString(1, in.account);
in.resultSet = in.preparedStatement.executeQuery();
// 如果有匹配的账号
if (in.resultSet.next()) {
// 获取当前余额
double currentBalance = in.resultSet.getDouble("balance");
// 更新余额
String updateSql = "UPDATE customer SET balance = ? WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(updateSql);
in.preparedStatement.setDouble(1, currentBalance + depositAmount);
in.preparedStatement.setString(2, in.account);
// 执行更新
in.preparedStatement.executeUpdate();
// 输出更新后的行数
System.out.println("存款成功,当前余额:" + (currentBalance + depositAmount));
} else {
System.out.println("未找到匹配的账号。");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 取款函数
private static void WithdrawMoney(hello.Main.Inter in) {
try {
// 获取用户输入的存款金额
System.out.println("请输入取款金额:");
double depositAmount = in.scanner.nextDouble();
// 查询顾客表中对应账号的数据
String selectSql = "SELECT * FROM customer WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(selectSql);
in.preparedStatement.setString(1, in.account);
in.resultSet = in.preparedStatement.executeQuery();
// 如果有匹配的账号
if (in.resultSet.next()) {
// 获取当前余额
double currentBalance = in.resultSet.getDouble("balance");
// 更新余额
String updateSql = "UPDATE customer SET balance = ? WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(updateSql);
in.preparedStatement.setDouble(1, currentBalance - depositAmount);
in.preparedStatement.setString(2, in.account);
// 执行更新
in.preparedStatement.executeUpdate();
// 输出更新后的行数
System.out.println("取款成功,当前余额:" + (currentBalance - depositAmount));
} else {
System.out.println("未找到匹配的账号。");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 转账函数
private static void TransferAccounts(hello.Main.Inter in) {
try {
// 获取用户输入的对方账号
System.out.println("请输入对方账号:");
String targetAccount = in.scanner.nextLine();
// 获取用户输入的转账金额
System.out.println("请输入转账金额:");
double transferAmount = in.scanner.nextDouble();
// 查询自己账号的当前余额
String selectSql = "SELECT * FROM customer WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(selectSql);
in.preparedStatement.setString(1, in.account);
in.resultSet = in.preparedStatement.executeQuery();
// 如果有匹配的账号
if (in.resultSet.next()) {
// 获取自己账号当前余额
double currentBalanceSelf = in.resultSet.getDouble("balance");
// 如果自己账号余额足够进行转账
if (currentBalanceSelf >= transferAmount) {
// 更新自己账号余额(减少)
String updateSql1 = "UPDATE customer SET balance = balance - ? WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(updateSql1);
in.preparedStatement.setDouble(1, transferAmount);
in.preparedStatement.setString(2, in.account);
in.preparedStatement.executeUpdate();
// 更新对方账号余额(增加)
String updateSql2 = "UPDATE customer SET balance = balance + ? WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(updateSql2);
in.preparedStatement.setDouble(1, transferAmount);
in.preparedStatement.setString(2, targetAccount);
in.preparedStatement.executeUpdate();
// 输出更新后的行数
System.out.println("转账成功,当前余额:" + (currentBalanceSelf-transferAmount) + "转账金额:, " + transferAmount);
} else {
System.out.println("自己账号余额不足,无法进行转账。");
}
} else {
System.out.println("未找到匹配的自己账号。");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 修改密码函数
private static void ChangePassword(hello.Main.Inter in) {
try {
// 获取用户输入的原密码
System.out.println("请输入原密码:");
String oldPassword = in.scanner.nextLine();
// 获取用户输入的新密码
System.out.println("请输入新密码:");
String newPassword = in.scanner.nextLine();
// 查询账号对应的原密码
String selectSql = "SELECT * FROM customer WHERE account_number = ?";
in.preparedStatement = in.conn.prepareStatement(selectSql);
in.preparedStatement.setString(1, in.account);
in.resultSet = in.preparedStatement.executeQuery();
// 如果有匹配的账号
if (in.resultSet.next()) {
// 获取账号对应的原密码
String storedPassword = in.resultSet.getString("password");
// 如果输入的原密码与存储的密码匹配
if (oldPassword.equals(storedPassword)) {
// 更新密码
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
详细介绍:https://blog.csdn.net/weixin_47040861/article/details/136177154 题目要求: 通过Java控制台开发一个银行管理系统,使用MySQL作为后台数据,实现银行管理员工功能和顾客功能。具体要求如下: (1)管理员功能:登录、添加顾客、删除顾客、计算存储金额、富豪排行榜、退出。 (2)顾客功能:登录、存款、取款、转账、修改密码、退出。
资源推荐
资源详情
资源评论
收起资源包目录
银行管理系统.rar (14个子文件)
银行管理系统
lib
mysql-connector-j-8.3.0.jar 2.38MB
.classpath 562B
.settings
org.eclipse.jdt.core.prefs 781B
org.eclipse.core.resources.prefs 57B
src
module-info.java 81B
hello
Main.java 8KB
Customer.java 9KB
Administrators.java 5KB
bin
module-info.class 177B
hello
Main$Inter.class 841B
Main.class 7KB
Customer.class 5KB
Administrators.class 5KB
.project 394B
共 14 条
- 1
资源评论
- jiajia229872024-03-16资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
a辰龙a
- 粉丝: 2183
- 资源: 47
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- YOLOV4-TINY权重文件
- 以下是一个使用贪心算法解决多机调度问题的基本步骤0.txt
- 基于大数据的房产估价是近年来随着技术的发展而兴起的一种新型估价方法.txt
- 企业供应链管理系统v3.rar
- 富芮坤FR8016HA蓝牙开发板使用手册+硬件PCB图+封装库+DEMO演示软件源代码.zip
- 基于YOLOv7的芯片表面缺陷检测系统
- 京东物流 数字化供应链综合研究报告2018.rar
- 基于YOLOv7的植物虫害识别&防治系统
- 2000.1-2023.8中国经济政策不确定性指数月度数据.xlsx
- Screenshot_2024-04-21-20-42-15-443_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功