【问题标题】:Adding a date historylist for deposit and withdraw in bankaccount java在银行账户java中添加存款和取款的日期历史列表
【发布时间】: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 似乎不对,因为这意味着TransactionAccount 的一种类型,也就是说,所有Transactions 也是@ 987654326@s。这不符合我对交易和账户的真实理解。
  • @DavidWallace 好的,我把它变成了它自己的一类。你对如何使它工作有什么建议吗?如何在交易日获得提款和存款...
  • 在我看来,您希望将List<Transaction> 作为Account 类的字段。一个帐户有一个交易列表。然后,每次交易时,您都会在列表中添加一些内容。
  • @DavidWallace 是的,这正是我想要的。我有一个 ArrayList,账户中的交易,但我不知道如何获取存款和取款以及该列表中的日期...
  • 好吧,我认为你的Transaction 类需要有一个金额和一个日期作为字段。可能是一个额外的字段来指示它是存款还是取款(尽管还有其他方法可以处理这个问题,例如,您总是可以有一个负数的取款)。然后,每次您在Account 上处理存款或取款时,您都可以创建这些对象之一。

标签: java class date arraylist


【解决方案1】:

将此类信息表示为类的实例,而不是字符串。

正如 cmets 所讨论的,您需要不同的类设计。您应该有一个代表银行帐户的 Account 类,其中包含打开日期时间、关闭日期时间的成员(字段)、共同所有者的集合(必须至少有一个),以及很快。每个事务都记录在一个单独的类中,Transaction。交易从帐户扩展。相反,一个 Account 包含 Transaction 实例的集合。 Transaction 类将具有成员,例如交易的日期时间、客户是谁(共同所有人或可能是其他人或某个法律实体)、执行交易的员工、金额以及是否是存款或取款。

重要提示:Java 捆绑的 java.util.Date 和 .Calendar 类是出了名的麻烦。避开他们。在 Java 8 中,它们已被新的 java.time 包所取代。或者使用 Joda-Time 库。学习在数据库和大部分编程中使用 UTC 来指定时区。调整到一个时区,仅用于在 UI 中展示以及您的业务逻辑需要它的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    相关资源
    最近更新 更多