Ver Mensaje Individual
Antiguo 10/07/2010, 14:08   #1
al-mo 
francotirador
 
Avatar de al-mo
 
Fecha de ingreso: 20/may/2005
Mensajes: 4.991
al-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperablesal-mo Alcanza niveles insuperables
Trincado con JAVA

Mis conocimientos sobre Java son bastante escasos así que no me queda más remedio que buscar ayuda por donde sea.

Debo implementar un método que forma parte de un programa mayor y que halle los sucesores de un tablero.

Hasta ahora he hecho lo siguiente:

[CODE] * Método para conocer cuáles son los nodos sucesores al tablero actual.
* @return Un contenedor con los nodos sucesores al nodo actual.
* @throws CloneNotSupportedException Si el nodo actual no se puede clonar.
*/
public ArrayList<Nodo> sucesores() throws CloneNotSupportedException
{

ArrayList<Nodo> sucesores = new ArrayList<Nodo>();
Nodo nodo = new Nodo();
Iterator it = islas.iterator();



while (it.hasNext())
{

Isla islaActual=(Isla)it.next();

if ((islaActual.esPosiblePuenteEnDirección(1))&( numPuentesColocados<numPuentesNecesarios))
{
islaActual.colocarPuente(1);

islaActual.setPosiblePuenteEnDirección(1,false);
numPuentesColocados++;
calcularVecinos();
};

nodo= (Nodo) clone();
sucesores.add(nodo);


if ((islaActual.esPosiblePuenteEnDirección(2))&( numPuentesColocados<numPuentesNecesarios))
{
islaActual.colocarPuente(2);
islaActual.setPosiblePuenteEnDirección(2,false);
numPuentesColocados++;
calcularVecinos();
};

nodo= (Nodo) clone();
sucesores.add(nodo);



};

return sucesores;
} [/CODE]

Cuando hago la traza del método clone() veo que efectivamente trabaja con los datos del nodo actual y luego devuelve el nodo clonado. Sin embargo, cuando llamo a sucesores.add(nodo) en la sentencia siguiente para guardar la copia en el arraylist, me guarda un nodo vacío y no el devuelto por clone().

Si alguien me orienta sobre el tema le estaré muy agradecido.

Salúos.
PD: No sé si con el CODE fue peor el remedio que la enfermedad.
__________________

Última edición por al-mo; 10/07/2010 a las 18:26.
al-mo está desconectado
Respuesta rápida a este mensaje
Responder Citando Subir
Publicidad: Conoce las ofertas de ANUNCIATE