将对象存储到数组中 - Java

时间:2015-11-02 19:40:59

标签: java arrays storing-data

我对Java相对较新,我已经开始学习一些轻量级课程。我试图模仿我有一段时间的运动,我遇到了一些麻烦。

我有两节课。一个是接收数据,另一个是存储数据。

public class Car{

public Car(String name, String color)
{
     this.name = name,
     this.color = color
}

如何将其存储到我在此类中创建的数组(不是数组列表)中:

public class CarDatabase {

Car[] carList = new Car[100];

public CarDatabase()
{
    // System.out.println("test");
}

public void createAccount(String name, String color)
{        
// this is where I am having trouble


    for (int i = 0; i < carList.length; i++)
    {

    System.out.println("Successfully created: " + name + 
            "." + "Color of car: " + color);
    break;


    }
}

我还没有主要的方法,但我稍后需要一个,例如,打印出这个阵列,这就是我无法解决的问题 - 如何存储DATA /对象&#34; CarDatabase&#34;数组,所以我可以稍后用它调用方法(而不是只能打印它)?

任何帮助将不胜感激。 谢谢!

1 个答案:

答案 0 :(得分:2)

不确定你想要实现的目标,但我会试一试。

您可以像这样修改CarDatabase类 -

public class CarDatabase {

  Car[] carList = new Car[100];
  int carsStored;

  // No need for a constructor since we don't need any initialization.
  // The default constructor will do it's job.

  public void createAccount(String name, String color) {
    carList[carsStored++] = new Car(name, color);
  }
}

你的主要方法可能看起来像 -

public static void main(String[] args) {
  CarDatabase database = new CarDatabase();
  database.createAccount("Lambo", "Red");
  database.createAccount("Punto", "White");

  // To loop through your database, you can then do
  for(int i = 0; i < database.carList.length; i++) {
    Car car = database.carList[i];
    // Now you can call methods on car object.
  }
}

希望有所帮助。