Foro de elhacker.net

Programación => Java => Mensaje iniciado por: SXF en 8 Octubre 2011, 21:16 pm



Título: Objeto que apunte a otro
Publicado por: SXF en 8 Octubre 2011, 21:16 pm
Buenas veran tengo un problemilla, quiero conseguir que un objeto por ejemplo llamado bloque apunte a una determinada posicion cuando se cree, no tengo mucha idea de como conseguirlo intento hacer esto y no me funciona.
Código
  1. public void establecer(Bloque bloquecualquiera, Posicion posicioncualquiera){
  2. posicioncualquiera = new Posicion();
  3. int x=posicioncualquiera.x;
  4. int y = posicioncualquiera.y;
  5. Bloque[x][y] bloque = {{bloquecualquiera}}
  6.  
  7. }

El objeto posicioncualquiera sirve para indicar las coordenadas que paso como parametros , veran mi objetivo es poner un bloque en un array bidimencional y que este situado en una coordenada determinada por ejemplo (3,2) del array. Me han sujerido utilizar la clase ArryList pero no se como, espero que me puedan hechar una mano .
Gracias.


Título: Re: Objeto que apunte a otro
Publicado por: adastra en 10 Octubre 2011, 10:05 am
No sé si he comprendido bien tu pregunta, pero entiendo que lo que quieres es simplemente crear una estructura con los párametros que te llegan en el método, pero no dices que es lo que te falla, errores de compilación? se lanza alguna excepción en ejecución? que problema tienes?

Luego, puedes utilizar un ArrayList, pero eso solamente te almacenará un array unidimencional, lo mejor en tal caso es utilizar un Mapa, por ejemplo un HashMap, es muy simple su uso, cada "registro" en un mapa Java tiene dos valores, el primero corresponde con la "clave" y el segundo con el "valor", la clave es único, es decir no se puede repetir en el mapa y el valor puede ser cualquier cosa, por ejemplo:

java.util.Map<String, String> mapa = new java.util.HashMap<String, String>();
mapa.put("1","valor1");
mapa.put("2","valor2");
mapa.put("3";"valor3");

mapa.get("3"); //retornará "valor3"


Luego, un Mapa no solamente admite objetos String, puede recibir cualquier clase de objeto, por ejemplo en tu caso, Bloque y/o Posicion.
De todos modos, dale una vuelta a tu código, la implementación de un mapa no resolverá de forma "magica" cualquier problema logico que tengas en tu programa.
Un Saludo.


Título: Re: Objeto que apunte a otro
Publicado por: SXF en 10 Octubre 2011, 20:27 pm
Gracias men lo he solucionada, pero ahora lo que me no funciona es el metodo eliminar , que lo hace es eliminarme un elemento, es decir si he metido antes un elemento este me lo elimina.

Donde el objeto posicion contiene la posicion x e y del objeto.
y elmentos es un array bidimencional.
Alguna idea ?? :huh:
Código
  1. public void eliminarElemento(Posicion posicion){
  2. posicion = new Posicion();
  3. this.x=posicion.Getinfox();
  4. this.y=posicion.Getinfoy();
  5. this.elementos[this.x][this.y] = null;    
  6. }
  7.  




Título: Re: Objeto que apunte a otro
Publicado por: SXF en 10 Octubre 2011, 21:01 pm
Perdonad por haceros perder el tiempo me equivoque al utilizar los metodos.

Graciassss