(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法。(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。(3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等。
时间: 2024-10-14 21:16:04 浏览: 40
(1)首先,我们可以定义一个简单的`Account`类,它代表用户的个人账户:
```java
public class Account {
private String username;
private String password;
private double balance;
// 构造函数
public Account(String username, String password) {
this.username = username;
this.password = password;
this.balance = 0.0;
}
// 存钱方法
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
// 取钱方法
public boolean withdraw(double amount) {
if (amount <= balance) {
balance -= amount;
return true; // 成功操作返回true
} else {
return false; // 资金不足返回false
}
}
// 显示余额的方法
public double getBalance() {
return balance;
}
}
```
(2)接着,我们定义一个`Bank`类,它管理着一组账户列表,并提供开户和查询功能:
```java
import java.util.ArrayList;
import java.util.List;
public class Bank {
private String bankName;
private List<Account> accounts;
public Bank(String bankName) {
this.bankName = bankName;
this.accounts = new ArrayList<>();
}
// 开户方法
public void openAccount(Account account) {
accounts.add(account);
}
// 查询账户方法
public Account findAccount(String username) {
for (Account account : accounts) {
if (account.getUsername().equals(username)) {
return account;
}
}
return null; // 如果找不到则返回null
}
}
```
(3)最后,在`Test`类的`main`函数中,我们可以创建银行实例并进行相关操作:
```java
public class Test {
public static void main(String[] args) {
Bank bank = new Bank("MyBank");
Account account1 = new Account("Alice", "123456");
Account account2 = new Account("Bob", "abcdef");
// 开立两个账户
bank.openAccount(account1);
bank.openAccount(account2);
// 模拟存取款操作
account1.deposit(1000.0);
account2.withdraw(500.0);
// 显示账户余额
System.out.println("Account 1 Balance: " + account1.getBalance());
System.out.println("Account 2 Balance: " + (account2.getBalance() > 0 ? account2.getBalance() : "Insufficient Funds"));
// 查找并显示账户信息
Account foundAccount = bank.findAccount("Alice");
if (foundAccount != null) {
System.out.println("Found Account: Username - " + foundAccount.getUsername() + ", Balance - " + foundAccount.getBalance());
} else {
System.out.println("Account not found.");
}
}
}
```
在这个例子中,`Account`实现了多态,因为`Bank`可以存储任何类型的账户,并通过其名称进行查找。同时,通过`deposit`和`withdraw`方法,我们可以对不同的账户进行统一的操作处理。
阅读全文