设计一个BankAccount类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。BankAccount类包括,账号(BankAccountId)、开户日期Date(日期),Money(金额),Rest(余额)。另有一个构造函数和三个成员函数Bankin()(处理存入账),Bankout()处理取出账)和和一个负责生成账号的自动增长的函数。 JAVA
时间: 2024-02-29 21:54:47 浏览: 135
好的,下面是实现了您所述功能的BankAccount类的Java代码:
```java
import java.util.Date;
public class BankAccount {
private String bankAccountId; // 账号
private Date createDate; // 开户日期
private double money; // 金额
private double rest; // 余额
private static int accountIdGenerator = 100000; // 账号自动增长的生成器
// 构造函数
public BankAccount(double money) {
this.bankAccountId = generateAccountId();
this.createDate = new Date();
this.money = money;
this.rest = money;
}
// 存款
public void bankin(double money) {
this.money += money;
this.rest += money;
}
// 取款
public boolean bankout(double money) {
if (this.rest < money) {
System.out.println("余额不足!");
return false;
}
this.money -= money;
this.rest -= money;
return true;
}
// 生成账号
private static String generateAccountId() {
String accountId = "ACC" + accountIdGenerator;
accountIdGenerator++;
return accountId;
}
// 打印账户信息
public void printAccountInfo() {
System.out.println("账号:" + this.bankAccountId);
System.out.println("开户日期:" + this.createDate);
System.out.println("金额:" + this.money);
System.out.println("余额:" + this.rest);
}
}
```
以上代码中,我们定义了一个BankAccount类,其中包含了账号(bankAccountId)、开户日期(createDate)、金额(money)、余额(rest)四个属性。我们使用了一个静态变量accountIdGenerator作为自动增长的生成器。在构造函数中,我们传入一个初始金额money,然后自动生成一个账号,同时初始化开户日期和余额。存款和取款的实现很简单,只需要对金额和余额进行加减操作即可。generateAccountId()方法用于生成账号,每次生成都会让accountIdGenerator自增一。最后,我们定义了一个printAccountInfo()方法,用于输出账户信息。
您可以使用以下代码来测试该BankAccount类:
```java
public class Test {
public static void main(String[] args) {
BankAccount account = new BankAccount(1000);
account.bankin(500);
account.bankout(200);
account.printAccountInfo();
}
}
```
输出结果如下:
```
账号:ACC100000
开户日期:Tue Oct 19 23:12:49 CST 2021
金额:1500.0
余额:1300.0
```
阅读全文