Java – Storing object into an array – Java

arraysjavastoring-data

I am relatively new to Java and I have taken some light courses on it. I am trying to emulate an exercise that I had a while back and I am having some trouble.

I have two classes. One is taking in data and the other is storing it.

public class Car{

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

How can I store this into the array (not an array list) that I created in this class:

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;


    }
}

I don't have a main method yet but I will need one later on to for example, PRINT out this array and that is what I can't wrap my head around – how do I store DATA/OBJECTS into the "CarDatabase" array so I can call methods with it later (instead of just being able to print it)?

Any help would be appreciated.
Thanks!

Best Answer

Not really sure what you are trying to achieve but I'll give it a go.

You could modify your CarDatabase class like so -

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

And your main method could look like -

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.
  }
}

Hope that helps.