Java - matriz objeto

 
Vista:

matriz objeto

Publicado por mary (31 intervenciones) el 11/11/2006 05:33:58
hola quiero hacer una matriz de un objete pero me da un error estoy aprendiendo y no se muy bien como se hace por favor necesito de su ayuda gracias
el error me da en NuevaMatriz.estado[i][j]= 'N';
NuevaMatriz.inicio[i][j]= false;

// el objeto
public class Dat {
char estado;
boolean inicio;
public Datos() {
estado = 'N';
inicio= false;
}
}

// la matriz
public class NuevaMatriz {
private Dat NuevaMatriz [][];
int i,j;
public NuevaMatriz (int f, int c) {
for (i=0; i<f; i++){
for (j=0; j<c; j++){
NuevaMatriz.estado[i][j]= 'N'; // ME DA ERROR
NuevaMatriz.inicio[i][j]= false; // ME DA ERROR
}
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:matriz objeto

Publicado por chuidiang (950 intervenciones) el 11/11/2006 06:07:06
Hola:

NuevaMatriz[][] admite dentro clases Datos y no un caracter ni un boolean. Debes rellenarla así

NuevaMatriz[i][j] = new Datos();

Tal cual lo tienes, no puedes cambiar los campos de dentro de Datos, puesto que no son public. Ponlos public o un metodo para acceder a ellos

public Datos() {
public estado = 'N';
public inicio= false;
}

Luego, el acceso a esos datos es asi

NuevaMatriz[i][j] = new Datos();
NuevaMatriz[i][j].estado = 'N';
NuevaMatriz[i][j].inicio = false;

Es importante que hagas un new Datos() para cada elemento de la matriz, de forma que cada elemento de la matriz tiene su propio Datos.

Si haces esto

Datos dato = new Datos();
for (int i ...
for (int j....
{
NuevaMatriz[i][j]=datos;
...
}

tienes el mismo Datos en todos los elementos de la matriz, todos valen lo mismo.

Se buena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:matriz objeto

Publicado por mary (31 intervenciones) el 11/11/2006 14:50:25
muchisimas gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar