【发布时间】:2014-05-24 11:54:21
【问题描述】:
我一直在为这个问题头疼一段时间。我想将提款和存款的历史列表添加到我的银行帐户程序中。我创建了一个子类,Transaction to my superklass, Account 使用这些方法:
import java.util.*;
public class Transaction extends Account{
private double amount;
public String addDeposit() {
Account newDep = new Account();
Date date = new Date();
newDep.deposit(amount);
return date + "\tIN: " + amount + "\t" + getBalance();
}
public String addWithdraw() {
Account newWith = new Account();
Date date = new Date();
newWith.withdraw(amount);
return date + "\tUT: " + amount + "\t" + getBalance();
}
public String getTransactionHistory()
{
return;
}
}
我想添加一个 if 语句,打印出是提款还是存款。但是我该怎么做呢?我什至不确定这是将事务放在另一个子类中的最简单方法。
【问题讨论】:
-
对我来说,
Transaction extends Account似乎不对,因为这意味着Transaction是Account的一种类型,也就是说,所有Transactions 也是@ 987654326@s。这不符合我对交易和账户的真实理解。 -
@DavidWallace 好的,我把它变成了它自己的一类。你对如何使它工作有什么建议吗?如何在交易日获得提款和存款...
-
在我看来,您希望将
List<Transaction>作为Account类的字段。一个帐户有一个交易列表。然后,每次交易时,您都会在列表中添加一些内容。 -
@DavidWallace 是的,这正是我想要的。我有一个 ArrayList,账户中的交易,但我不知道如何获取存款和取款以及该列表中的日期...
-
好吧,我认为你的
Transaction类需要有一个金额和一个日期作为字段。可能是一个额外的字段来指示它是存款还是取款(尽管还有其他方法可以处理这个问题,例如,您总是可以有一个负数的取款)。然后,每次您在Account上处理存款或取款时,您都可以创建这些对象之一。