下载地址:www.wenshushu.vip/download.ph…
代码实现要点:
- 采用Maven项目结构管理依赖2
- BankAccount类实现余额修改核心逻辑4
- Transaction类记录完整交易流水2
- 控制台交互界面提供基础操作入口
注意事项:
- 该代码仅供学习银行系统工作原理4
- 实际金融系统需增加密码验证等安全机制1
- 不可用于真实金融环境操作
源码部分【逆向】
` import java.util.ArrayList; import java.util.Date; import java.text.SimpleDateFormat;
public class BankAccount { private final String accountNumber; private String accountHolder; private double balance; private ArrayList transactions;
public BankAccount(String number, String holder, double initBalance) {
this.accountNumber = number;
this.accountHolder = holder;
this.balance = initBalance;
this.transactions = new ArrayList<>();
}
public void modifyBalance(double amount) {
this.balance = amount;
transactions.add(new Transaction("余额修改", amount));
}
public void printStatement() {
System.out.println("账号:" + accountNumber);
System.out.println("当前余额:" + balance);
System.out.println("交易记录:");
transactions.forEach(System.out::println);
}
} `
import java.text.SimpleDateFormat;
import java.util.Date;
public class Transaction {
private String type;
private double amount;
private Date timestamp;
public Transaction(String type, double amount) {
this.type = type;
this.amount = amount;
this.timestamp = new Date();
}
@Override
public String toString() {
return String.format("[%s] %s: %.2f",
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(timestamp),
type, amount);
}
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
BankAccount account = new BankAccount(
"6228480038888888888",
"测试用户",
5000.00);
Scanner scanner = new Scanner(System.in);
while(true) {
System.out.println("\n=== 农业银行模拟器 ===");
System.out.println("1.修改余额 2.查看流水 3.退出");
int choice = scanner.nextInt();
switch(choice) {
case 1:
System.out.print("输入新余额:");
account.modifyBalance(scanner.nextDouble());
break;
case 2:
account.printStatement();
break;
case 3:
System.exit(0);
default:
System.out.println("无效输入");
}
}
}
}