下载地址:https://www.pan38.com/share.php?code=bRtMK 提取码:8888 【仅供学习用途使用】
以下是代码的详细介绍:
项目结构说明:
这是一个基于Java的银行交易记录模拟教学系统,包含两个主要类:
BankSimulator类:核心功能类,负责交易记录处理
Main类:程序入口,演示如何使用模拟器
BankSimulator类详解:
内部定义Transaction静态嵌套类,包含三个字段:
date:自动生成当前日期
description:交易描述
amount:交易金额(正数表示收入,负数表示支出)
generateStatement方法:格式化输出交易记录
Main类功能:
创建ArrayList存储交易记录
添加示例交易(工资收入和超市消费)
调用BankSimulator生成对账单
教学价值:
学习Java基础语法
掌握日期格式化(SimpleDateFormat)
理解集合(List)的使用
实践面向对象编程思想
运行效果示例:
=== 模拟银行对账单 ===
日期 摘要 金额
2025-06-20 工资收入 15000.00
2025-06-20 超市消费 -256.80
// 银行交易记录模拟器(教学用途)
public class BankSimulator {
private static class Transaction {
String date;
String description;
double amount;
public Transaction(String desc, double amt) {
this.date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
this.description = desc;
this.amount = amt;
}
}
public static void generateStatement(List<Transaction> transactions) {
System.out.println("=== 模拟银行对账单 ===");
System.out.println("日期\t\t摘要\t\t金额");
transactions.forEach(t ->
System.out.printf("%s\t%s\t%.2f\n",
t.date, t.description, t.amount));
}
}
class Main {
public static void main(String[] args) {
List records = new ArrayList<>();
records.add(new Transaction("工资收入", 15000));
records.add(new Transaction("超市消费", -256.8));
BankSimulator.generateStatement(records);
}
}
public class Account {
private String accountNumber;
private String accountHolder;
private double balance;
public Account(String number, String holder) {
this.accountNumber = number;
this.accountHolder = holder;
this.balance = 0.0;
}
public void deposit(double amount) {
if(amount > 0) {
balance += amount;
}
}
public boolean withdraw(double amount) {
if(amount > 0 && balance >= amount) {
balance -= amount;
return true;
}
return false;
}
}
java.util.ArrayList;
public class Bank {
private ArrayList accounts;
public Bank() {
accounts = new ArrayList<>();
}
public void addAccount(Account account) {
accounts.add(account);
}
public boolean transfer(Account from, Account to, double amount) {
if(from.withdraw(amount)) {
to.deposit(amount);
return true;
}
return false;
}
}