Array grva os mesmo Dados sempre

Boa noite pessoal, sou novo no GUJ e em java, estou tentando fazer um trabalhinho em java para aprender, mas estou com dificuldades em gravar um array de 10 posições, o memo grava sempre o mesmo valor, ou seja tenho 10 cadastros pra adicionar no array, mas ao final de gravar os 10 ele grava o ultimo sempre objeto no array e “copia” para as posições anteriores…

Acho q eh algo bem básico mas estou tentando achar o erro e nao consigo!

segue o código abaixo

Obrigado pessoal

public class Teste {

    public static void main(String[] args) {
        String[] marca = {"Gol", "Passat", "Uno", "Honda Civic", "Cross Fox",
            "Parati", "Ferrari", "Fusca", "Mercedes", "Honda Fit"};
        int[] ano = {1985, 2000, 2001, 2002, 2005, 1998, 2006, 2005, 1986, 2003};
        String[] serie = {"CAD2343", "DSA43667", "GYT5464", "FTH4323", "FRD3233",
            "LKI7698", "DFG3456", "FGT3457", "HJU2321", "AKG3456"};
        String[] cor = {"Amarelo", "Branco", "Verde", "Cor-de-Rosa", "Laranja",
            "Preto", "Bege", "Vermelho", "Lilas", "Preto"};
        double[] preco = {13.000, 14.000, 9.000, 50.000, 37.000, 17.000, 300.000, 6.000, 70.000, 53.000};
        String[] dataCadastro = {"12/03/2009", "05/05/2007", "02/03/2007", "01/06/2009", "16/03/2006",
            "01/03/2010", "01/02/2010", "15/03/2009", "18/08/2009", "13/04/2009"};


        Automovel a = new Automovel();
        for (int i = 0; i < a.getAutomovel().length; i++) {
            a.setMarca(marca[i]);
            a.setAno(ano[i]);
            a.setSerieMotor(serie[i]);
            a.setCor(cor[i]);
            a.setPreco(preco[i]);
            a.setDataCadastro(dataCadastro[i]);
            Automovel.setAutomovel(a);
        }

        a.listaAno(1985);
    }
}

Classe Automovel

public class Automovel {

    private String marca;
    private int ano;
    private String serieMotor;
    private String cor;
    private double preco;
    private String dataCadastro;
    static Automovel[] automovel;
    static int incrementaAutomovel = 0;

    public Automovel() {
        this.marca = null;
        this.ano = 0;
        this.serieMotor = null;
        this.cor = null;
        this.preco = 0.0;
        this.dataCadastro = null;
        automovel = new Automovel[10];

    }
    public void prucuraMarca(String marca) {
        for (int i = 0; i < incrementaAutomovel; i++) {
            if (automovel[i].getMarca().equals(marca)) {
                System.out.println("Carros da " + marca +
                        ": " + getAutomovel()[i].marca +
                        "\n" + getAutomovel()[i].ano +
                        "\n" + getAutomovel()[i].serieMotor +
                        "\n" + getAutomovel()[i].dataCadastro +
                        "\n" + getAutomovel()[i].getCor() + "\n \n");
            } else {
                System.out.println("Nada foi encontrado!");
            }

        }
    }

    public void listaAno(int ano) {
        for (int i = 0; i < incrementaAutomovel; i++) {
            if (getAutomovel()[i].getAno() == ano);
            System.out.println("Carros do ano " + getAutomovel()[i].ano +
                    ": " + getAutomovel()[i].marca);

        }
    }

    public void listaAutomovel(String serie) {
    }

   static void setAutomovel(Automovel a) {
        automovel[incrementaAutomovel] = a;
        incrementaAutomovel++;
    }

Set e get....
}

Obrigado!

Cara… O ideal seria fazer um arraylist e depois percorre-lo
Fiz seu exemplo aki rapidinho:

[code]public class Teste {

public static void main(String[] args) {
	String[] marca = { "Gol", "Passat", "Uno", "Honda Civic", "Cross Fox",
			"Parati", "Ferrari", "Fusca", "Mercedes", "Honda Fit" };
	int[] ano = { 1985, 2000, 2001, 2002, 2005, 1998, 2006, 2005, 1986,
			2003 };
	String[] serie = { "CAD2343", "DSA43667", "GYT5464", "FTH4323",
			"FRD3233", "LKI7698", "DFG3456", "FGT3457", "HJU2321",
			"AKG3456" };
	String[] cor = { "Amarelo", "Branco", "Verde", "Cor-de-Rosa",
			"Laranja", "Preto", "Bege", "Vermelho", "Lilas", "Preto" };
	double[] preco = { 13.000, 14.000, 9.000, 50.000, 37.000, 17.000,
			300.000, 6.000, 70.000, 53.000 };
	String[] dataCadastro = { "12/03/2009", "05/05/2007", "02/03/2007",
			"01/06/2009", "16/03/2006", "01/03/2010", "01/02/2010",
			"15/03/2009", "18/08/2009", "13/04/2009" };


	
	for (int i = 0; i < cor.length; i++) {
		Automovel a = new Automovel();
		a.setMarca(marca[i]);
		a.setAno(ano[i]);
		a.setSerieMotor(serie[i]);
		a.setCor(cor[i]);
		a.setPreco(preco[i]);
		a.setDataCadastro(dataCadastro[i]);
		Automovel.setAutomovel(a);
	}

	Automovel.listaAno(2005);
	Automovel.prucuraMarca("Gol");
	
}

}[/code]

E depois a classe Automovel:

[code]import java.util.ArrayList;

public class Automovel {

private String marca;
private int ano;
private String serieMotor;
private String cor;
private double preco;
private String dataCadastro;
static ArrayList<Automovel> lista = new ArrayList<Automovel>();

public Automovel() {
	this.marca = null;
	this.ano = 0;
	this.serieMotor = null;
	this.cor = null;
	this.preco = 0.0;
	this.dataCadastro = null;

}

public static void prucuraMarca(String marca) {
	for (int i = 0; i < lista.size(); i++) {
		if (lista.get(i).getMarca().equals(marca)) {
			System.out.println(marca + ": " + "Ano "
					+ lista.get(i).ano + " - Motor "
					+ lista.get(i).serieMotor + " - Data Cadastro "
					+ lista.get(i).dataCadastro + " - Cor "
					+ lista.get(i).getCor());
		}
	}
}

public static void listaAno(int ano) {
	for (int i = 0; i < lista.size(); i++) {
		if (lista.get(i).getAno() == ano) {
			System.out.println("Carros do ano " + ano + ": "
					+ lista.get(i).getMarca());
		}
	}
}

public String getMarca() {
	return marca;
}

public void setMarca(String marca) {
	this.marca = marca;
}

public int getAno() {
	return ano;
}

public void setAno(int ano) {
	this.ano = ano;
}

public String getSerieMotor() {
	return serieMotor;
}

public void setSerieMotor(String serieMotor) {
	this.serieMotor = serieMotor;
}

public String getCor() {
	return cor;
}

public void setCor(String cor) {
	this.cor = cor;
}

public double getPreco() {
	return preco;
}

public void setPreco(double preco) {
	this.preco = preco;
}

public String getDataCadastro() {
	return dataCadastro;
}

public void setDataCadastro(String dataCadastro) {
	this.dataCadastro = dataCadastro;
}

public static void setAutomovel(Automovel a) {
	lista.add(a);
}

}[/code]
Perceba que eu tirei akela porrada de increment que vc fez…
Não é necessário… A cada hora você cria um novo automóvel, você acrescenta ele em uma lista de automóveis, simples não?
Outra coisa… Eu não fiz nenhum get e set… O eclipse faz para mim!
Isso mesmo. Não precisa ficar digitando… Aperte Ctrl + 3 e digite ggas que é a abreviação de Generate getters and setters e selecione todos os getters e setters.
Pronto, ele fez automaticamente !

Dae velhinho, com o seu exemplo eu entendi pq o meu nao funcionava …
estava instanciando uma vez soh…e granvando os dados na mesma instancia…

eu tinha q fazer com vetor mesmo por questao de trabalho de faculdade, q pediram…fiz tbm com arraylist e não nao tinha funcionado pois como havia falado instanciei uma vez…

e não enchergava isto hehe

mto obrigado pela atenção caro colega…

Abrass…

topico finalizado!

Legal…
Espero que não suma do forum e venha só quando tiver dúvidas…
Outra coisa, já que o problema foi solucionado, vá ao primeiro post , clique em editar, e acrescente [RESOLVIDO] no final do tópico

Certamente que não, estou tentando aprender e o que puder passar para outras pessoas estarei a disposição

Obrigado pela ajuda!!