设计一个银行帐户类,可以手动输入存款与取款
时间: 2024-11-26 16:22:28 浏览: 33
设计一个银行账户类(BankAccount),通常会包含以下几个关键部分:
1. **属性**:
- `accountNumber`:代表账户编号,存储字符串类型的数据。
- `balance`:表示账户余额,作为双精度浮点型数据,初始时一般设为零。
- `customerName`:储户姓名,也是字符串类型。
- `openingDate`:开户日期,可以用`java.time.LocalDate`或者类似的时间日期类来存储。
2. **构造函数**:
创建一个带默认值的构造函数,接受上述属性的值,并初始化相应的实例变量。
3. **方法**:
- **deposit(amount)**:用于存入资金,将传入的金额加到余额上,确保接收的是正数。
- **withdraw(amount)**:用于提取资金,先检查是否有足够的余额,如果有则从余额中减去,否则抛出异常或提示用户。
4. **getter和setter方法**:
提供对属性的访问控制,如`getBalance()`获取余额,`setBalance(newBalance)`设置余额。
5. **printAccountInfo()** 或者 `toString()` 方法:
展示账户的基本信息,如账户号、储户名、余额等。
以下是该类的一个简单实现示例(Java语言):
```java
import java.time.LocalDate;
public class BankAccount {
private String accountNumber;
private double balance;
private String customerName;
private LocalDate openingDate;
// 构造函数
public BankAccount(String account, double initialBalance, String name, LocalDate date) {
this.accountNumber = account;
this.balance = initialBalance;
this.customerName = name;
this.openingDate = date;
}
// 存款方法
public void deposit(double amount) {
if (amount >= 0) {
balance += amount;
} else {
throw new IllegalArgumentException("存款金额必须是非负数");
}
}
// 取款方法
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
} else {
throw new IllegalArgumentException("取款金额错误,余额不足或为负数");
}
}
// 获取账户信息
@Override
public String toString() {
return "账户号:" + accountNumber + "\n" +
"余额:" + balance + "\n" +
"储户姓名:" + customerName + "\n" +
"开户日期:" + openingDate;
}
// 示例:显示账户信息
public static void main(String[] args) {
BankAccount account = new BankAccount("12345678", 1000.0, "张三", LocalDate.now());
account.deposit(500.0);
System.out.println(account);
}
}
```
阅读全文