在银行办理业务时,通常银行会开多个窗口,客户排队等候,窗口办理完业务,会呼叫下一个用户办理业务。本案例要求编写一个程序模拟银行存取钱业务办理。假如有两个用户在存取钱,两个用户分别操作各自的账户,并在控制台打印存取钱的数量以及账户的余额。JAVA
时间: 2024-12-14 11:22:06 浏览: 9
python多线程实现代码(模拟银行服务操作流程)
在Java中模拟这个银行业务场景,我们可以创建一个`BankAccount`类作为基本账户,然后创建`Customer`类代表用户,他们可以有多个`BankAccount`实例。这里是一个简单的例子:
```java
// 定义BankAccount类
class BankAccount {
private double balance;
public BankAccount(double initialBalance) {
this.balance = initialBalance;
}
// 存款方法
public void deposit(double amount) {
balance += amount;
System.out.println("存款金额: " + amount + ", 当前余额: " + balance);
}
// 取款方法
public void withdraw(double amount) {
if (amount <= balance) {
balance -= amount;
System.out.println("取款金额: " + amount + ", 当前余额: " + balance);
} else {
System.out.println("取款金额超过当前余额!");
}
}
// 打印余额
public void printBalance() {
System.out.println("当前余额: " + balance);
}
}
// 定义Customer类
class Customer {
private BankAccount account;
public Customer(BankAccount account) {
this.account = account;
}
// 模拟用户存取钱操作
public void performTransaction(String action, double amount) {
switch (action) {
case "deposit":
account.deposit(amount);
break;
case "withdraw":
account.withdraw(amount);
break;
default:
System.out.println("无效的操作!");
}
}
}
public class BankSimulation {
public static void main(String[] args) {
// 创建两个账户
BankAccount account1 = new BankAccount(5000);
BankAccount account2 = new BankAccount(7000);
// 创建用户并关联账户
Customer customer1 = new Customer(account1);
Customer customer2 = new Customer(account2);
// 用户操作
customer1.performTransaction("deposit", 2000); // 用户1存款
customer2.performTransaction("withdraw", 3000); // 用户2取款
customer1.printBalance(); // 用户1查看余额
}
}
```
在这个程序中,我们首先定义了`BankAccount`类和它的存款、取款方法,以及显示余额的功能。`Customer`类则负责封装用户的账户操作。在`main`函数中,我们创建了两个账户和两个用户,每个用户执行存取款操作,并在适当的时候打印出账户余额。
阅读全文