Numero de objetos indefinidos em java

Tenho o seguinte problema, tenho um vetor de objetos de tamanho “n”, onde n é um valor inserido pelo usuario. Como gerencio a criação de objetos de uma classe “Carros”, por exemplo, se não sei o valor exato de N, pois para declarar um objeto preciso fazer

Carro c1 = new Carro();
c1.marca = “”;
c1.modelo = “”;
etc

Caso ele queira um vetor de 10 posicoes precisaria ter Carro c10 = new Carro();, e caso queira 50 até c50, ou seja a quantidade de objetos é variavel, como faria uma instancia para isso ?

Faz um FOR pra correr toda a lista

for (int i = 1; i < tamanhoVetor; i++) {
    vetor[i].add(new objeto());
    }

Complementando a resposta do colega @Fefo80:

Faça a leitura da quantidade de carros que vc quer cadastrar:

int totalCarros = Integer.parseInt(teclado.nextLine());

Com o total de veículos informado, crie o vetor:

Carro[] carros = new Carro[totalCarros];

Agora vc pode ir fazendo a leitura dos dados para preencher o vetor:

for (int i = 0; i < totalCarros; i++) {
    Carro carro = new Carro();
    carro.marca = "";
    carro.modelo = "";
    carros[i] = carro;
}

O exemplo foi usando vetor supondo que vc não possa usar uma estrutura pronta, como o ArrayList, que já existe na api do java. Caso for usar um ArrayList, por exemplo, bastaria ir chamando o método add para cada carro que for inserir na lista.

1 curtida