Como armazenar um objeto em um array bidimensional?

3 respostas
ducafe

Oi, criei uma classe chamada Carro e quero armazenar um array de Carros em uma matriz bidimensional.
Veja meu código:

// classe Carro 
public class Carro
{
}

// declaração da variável
public Carro matriz[][];

// main():
matriz = new Carro[10][10];
Carro c1 = new Carro();

//  Abaixo dá o erro: "Type mismatch: cannot converto Carro to Carro[]"
matriz[0][0] = c1;

A moral é que preciso armazenar o objeto Carro na posição exata x,y desse array.
Alguém pode me ajudar?

3 Respostas

drsmachado
package teste;

public class Teste {
	int val;
	String nome;

	public int getVal() {
		return val;
	}

	public void setVal(int val) {
		this.val = val;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}
}
package teste;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Teste[][] testes = new Teste[10][10];
		for(int i = 0; i < 10; i++){
			for(int j = 0; j < 10; j++){
				Teste t = new Teste();
				t.setNome("N " + i + " " + j);
				t.setVal(i+j);
				testes[i][j] = t;
			}
		}
		System.out.println("Agora escrevendo os valores: ");

		for(int i = 0; i < 10; i++){
			for(int j = 0; j < 10; j++){
				Teste t = testes[i][j];
				System.out.println("Teste posição: " + i + " " + j);
				System.out.println("Teste nome: " + t.getNome());
				System.out.println("Valor: " + t.getVal());
			}
		}
	}

}

A idéia é essa…

ducafe

Obrigado aí drsmachado, percebi que eu havia escrito “matriz[0,0] = c1” ao invés de “matriz[0][0] = c1”
Desculpa aí pela falta de atenção minha

drsmachado

Sem problemas.
Boa iniciativa de informar onde era o erro.

Criado 13 de dezembro de 2011
Ultima resposta 13 de dez. de 2011
Respostas 3
Participantes 2