Java列表数组问题

时间:2014-02-10 21:08:31

标签: java arrays

我有以下课程:

public class Transaction {
public String Type;
public double Amount;
public double Balance;

Transaction(String Type,double Amount,double Balance){
    this.Type = Type;
    this.Amount = Amount;
    this.Balance = Balance;
}
public String toString(){
    String s = " Type: "+ Type +"\n Amount: "+ Amount+ "\n Balance: "+Balance;
    return s;
}

这用于创建与我的主类的事务实例,所以我最终可以打印出长列表中的所有事务,如语句。

在我的主要课程帐户中,到目前为止我有这个代码:

public class Account {
private String name;
private double balance;
public double initDeposit;
protected ArrayList<Transaction>;


public Account(String name, double initDeposit){
    this.balance =initDeposit;
    this.name = name;
    Transaction a = new Transaction("Creation",initDeposit,balance);


}

我正在尝试在创建帐户时创建一个新事务并将其添加到ArrayList但我没有正确声明数组列表。我怎么能这样做?感谢您的回复。

2 个答案:

答案 0 :(得分:8)

您忘了为ArrayList命名。试试这个:

protected ArrayList<Transaction> transactions;

遵循OO编程最佳实践,您应该使用接口类型而不是具体类来声明属性:

protected List<Transaction> transactions;

另外,不要忘记在构造函数中实例化该属性:

transactions = new ArrayList<Transaction>();

甚至更简单,如果您使用的是Java 7或更新版本:

transactions = new ArrayList<>();

答案 1 :(得分:0)

来自邹邹的评论后:

public class Account {
private String name;
private double balance;
public double initDeposit;
protected ArrayList<Transaction> tran;


public Account(String name, double initDeposit){
    this.balance =initDeposit;
    this.name = name;
    tran = new ArrayList<Transaction>()
    Transaction a = new Transaction("Creation",initDeposit,balance);
    tran.add(a);

我现在有一个可以添加交易的名称。完成此操作后,我可以遍历数组列表以获取所有事务。