如何将值添加到其他类的数组列表中?

时间:2014-09-11 16:52:54

标签: java inheritance arraylist polymorphism loaddata

原谅我,因为我还是Java的新手。我有9个不同的类。 在我的帐户驱动程序中,我需要创建一个方法加载数据,我可以在其中放入一些虚假数据。

我似乎无法弄清楚如何输入这些值,因为我的构造函数是:

public Account(Customer c,double b,Day d){
    cust = c;
    balance= b;
    dateOpened=d;
    }

public Customer(String last, String first)
{
    this.last = last;
    this.first=first;
    custNum = nextNum;
    nextNum++;
}

public Day(int yyyy, int m, int d) 
{  year = yyyy;
  month = m;
  day = d;
  if (!isValid()) 
     throw new IllegalArgumentException();
}

  public CheckingAccount(double mf,Customer c,double b,Day d){
    monthlyFee=mf;
}

 public SavingsAccount(Customer c,double b,Day d,double i){

    intRate=i;


}

 public SuperSavings(double mf,Customer c,double b,Day d,double m){
    minDeposit=m;


}

和我的AccountDriver:

import java.util.ArrayList;


public class AccountDriver {

public static void main(String[] args){
    ArrayList<Customer> c = new ArrayList<Customer>();
ArrayList<Account> a = new ArrayList<Account>();
ArrayList<Day> d = new ArrayList<Day>();

    loadData(c,a,d);
    print(a);
}

public static void loadData(ArrayList<Customer> c,ArrayList<Account> a, ArrayList<Day> d) {

    a.add(new Account(new Customer("Sam", "Jones"),45000,new Day(2012,12,4)));

}

private static void print(ArrayList<Account> s) {
    for (int i=0;i<s.size();i++)
System.out.println(s.get(i).toString());
}

}

3 个答案:

答案 0 :(得分:0)

您需要创建所有必要的实例:

Customer c = new Customer("John", "Doe");
Day day = new Day(2014, 9, 11);
Account account = new Account(c, 1000D, day);
// add the account
List<Account> accounts = new ArrayList<>();
accounts.add(account);

答案 1 :(得分:0)

Account account = 
    new Account( new Customer("first name","last name"), 10.0d, new Day(2014,9,11));

答案 2 :(得分:0)

您必须传入与构造函数方法签名匹配的参数。这是一个例子:

Customer customer = new Customer("Doe","John");
double balance = 1000.0;
Day day = new Day(1992,4,20);

a.add(new Account(customer, balance, day));