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

Posted

技术标签:

【中文标题】如何将值添加到其他类的数组列表中?【英文标题】:How to add values into an array list from other classes? 【发布时间】:2014-11-05 17:34:11 【问题描述】:

请原谅我,因为我还是 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());

【问题讨论】:

你想做什么?将这些类的所有实例放在同一个ArrayList 中?还是将它们放在不同的ArrayLists 中? 【参考方案1】:

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

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);

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

我认为 double 结尾需要一个 d 就像double balance = 1000.0d;【参考方案3】:
Account account = 
    new Account( new Customer("first name","last name"), 10.0d, new Day(2014,9,11));

【讨论】:

以上是关于如何将值添加到其他类的数组列表中?的主要内容,如果未能解决你的问题,请参考以下文章

如何使C ++将值列表或其他复杂类型返回到QML

如果我在另一个下拉列表中选择特定值,我想将值添加到下拉列表

如何创建一个包含另一个类的对象数组的类,如何操作其他类的私有属性

如何将值插入单链表

从列表中添加值 到Jtable

如何将值从其他活动传递给 viewpager 片段?