我现在已经用这个问题敲打了一会儿。我想在我的银行帐户计划中添加提款和存款的历史列表。我用这些方法创建了一个子类,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语句,打印出是否提取或存款。但是我该怎么做?我甚至不确定这是将事务放在另一个子类中的最简单方法。
答案 0 :(得分:1)
表示类的实例,而不是字符串。
正如所讨论的评论,您需要一个不同的课程设计。您应该有一个代表银行帐户的帐户类,其中成员(字段)用于打开日期时间,关闭日期时间,共同所有者的集合(必须至少有一个),以及等等。每笔交易都记录在一个单独的类 Transaction 中。交易不从帐户扩展。相反,帐户包含一组Transaction实例。交易类会有成员,例如交易时的日期时间,客户(共同所有人或可能是其他人或某个法律实体),执行交易的人员,金额以及是否是存款或取款。
重要提示:与Java捆绑在一起的java.util.Date和.Calendar类非常麻烦。避免他们。它们已在Java 8中被新的java.time包取代。或者使用Joda-Time库。学习如何在数据库和大多数编程中使用UTC指定时区。调整到时区仅用于在UI中显示以及业务逻辑需要它的位置。