银行转账虚拟生成器app,建设工商农业邮政招商,jar完全开源版代码【仅供学习】

182 阅读2分钟

下载地址(文章指定相关附件):www.pan38.com/dow/share.p… 提取密码:7167

纯开源的代码,我估计稍微有点jar基础的都能打包成单独的app,而且这玩意的逼真°非常高的,用来装逼娱乐恶搞没问题哈,那么怎么用呢,我们用Mt文件管理器吧代码完全扒拉出来了,代码部分我下面会分享,先看下界面吧。

image.png

源码部分:

import java.util.HashMap; import java.util.Scanner; import java.text.SimpleDateFormat; import java.util.Date; import java.util.ArrayList;

public class BankSystem { private static HashMap<String, EnhancedBankAccount> accounts = new HashMap<>(); private static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
    initializeSampleAccounts();
    while (true) {
        System.out.println("\n===== 银行模拟系统 =====");
        System.out.println("1. 创建账户  2. 存款  3. 取款");
        System.out.println("4. 转账     5. 查询流水 6. 退出");
        System.out.print("请选择操作: ");
        
        int choice = scanner.nextInt();
        scanner.nextLine(); // 清除缓冲区
        
        switch (choice) {
            case 1: createAccount(); break;
            case 2: deposit(); break;
            case 3: withdraw(); break;
            case 4: transfer(); break;
            case 5: printStatement(); break;
            case 6: System.exit(0);
            default: System.out.println("无效输入");
        }
    }
}

private static void initializeSampleAccounts() {
    accounts.put("1001", new EnhancedBankAccount("1001", "张三"));
    accounts.put("1002", new EnhancedBankAccount("1002", "李四"));
    accounts.get("1001").deposit(5000);
    accounts.get("1002").deposit(3000);
}

private static void createAccount() {
    System.out.print("输入账号: ");
    String accNum = scanner.nextLine();
    System.out.print("输入户名: ");
    String name = scanner.nextLine();
    
    if (accounts.containsKey(accNum)) {
        System.out.println("账号已存在");
    } else {
        accounts.put(accNum, new EnhancedBankAccount(accNum, name));
        System.out.println("账户创建成功");
    }
}

private static void deposit() {
    System.out.print("输入账号: ");
    String accNum = scanner.nextLine();
    if (!accounts.containsKey(accNum)) {
        System.out.println("账号不存在");
        return;
    }
    
    System.out.print("输入存款金额: ");
    double amount = scanner.nextDouble();
    accounts.get(accNum).deposit(amount);
}

private static void withdraw() {
    System.out.print("输入账号: ");
    String accNum = scanner.nextLine();
    if (!accounts.containsKey(accNum)) {
        System.out.println("账号不存在");
        return;
    }
    
    System.out.print("输入取款金额: ");
    double amount = scanner.nextDouble();
    accounts.get(accNum).withdraw(amount);
}

private static void transfer() {
    System.out.print("输入转出账号: ");
    String fromAcc = scanner.nextLine();
    System.out.print("输入转入账号: ");
    String toAcc = scanner.nextLine();
    
    if (!accounts.containsKey(fromAcc) || !accounts.containsKey(toAcc)) {
        System.out.println("账号不存在");
        return;
    }
    
    System.out.print("输入转账金额: ");
    double amount = scanner.nextDouble();
    accounts.get(fromAcc).transferTo(accounts.get(toAcc), amount);
}

private static void printStatement() {
    System.out.print("输入查询账号: ");
    String accNum = scanner.nextLine();
    if (!accounts.containsKey(accNum)) {
        System.out.println("账号不存在");
        return;
    }
    accounts.get(accNum).printStatement();
}

}

import java.util.ArrayList; import java.text.SimpleDateFormat; import java.util.Date;

public class EnhancedBankAccount { private final String accountNumber; private String accountName; private double balance; private ArrayList transactions;

public EnhancedBankAccount(String number, String name) {
    this.accountNumber = number;
    this.accountName = name;
    this.balance = 0.0;
    this.transactions = new ArrayList<>();
}

public void deposit(double amount) {
    if (amount > 0) {
        balance += amount;
        transactions.add(new Transaction("存款", amount));
        System.out.println("存款成功,当前余额:" + balance);
    } else {
        System.out.println("存款金额必须大于0");
    }
}

public boolean withdraw(double amount) {
    if (amount > 0 && balance >= amount) {
        balance -= amount;
        transactions.add(new Transaction("取款", -amount));
        System.out.println("取款成功,当前余额:" + balance);
        return true;
    }
    System.out.println("取款失败,余额不足或金额无效");
    return false;
}

public void transferTo(EnhancedBankAccount target, double amount) {
    if (this.withdraw(amount)) {
        target.deposit(amount);
        transactions.add(new Transaction("转出至"+target.accountNumber, -amount));
        target.transactions.add(new Transaction("转入自"+this.accountNumber, amount));
    }
}

public void printStatement() {
    System.out.println("\n===== 账户流水 =====");
    System.out.println("账号:" + accountNumber);
    System.out.println("户名:" + accountName);
    System.out.println("当前余额:" + balance);
    System.out.println("\n交易记录:");
    for (Transaction t : transactions) {
        System.out.println(t);
    }
}

}

import java.text.SimpleDateFormat; import java.util.Date;

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() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    return String.format("[%s] %s: %.2f", 
        sdf.format(timestamp), type, amount);
}

}

import java.text.SimpleDateFormat; import java.util.Date;

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() {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    return String.format("[%s] %s: %.2f", 
        sdf.format(timestamp), type, amount);
}

}

4.0.0 com.bank bank-simulator 1.0-SNAPSHOT <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> org.codehaus.mojo exec-maven-plugin 3.0.0 BankSystem