Programación General > Java
Creacion De Objeto
Presscot:
:huh:
Hola a todos!!!
Pues soy nuevo en esto de java y mi pregunta es la siguiente:
Tengo un objeto de tipo "circulo" el cual ya puedo dibujar, pero como puedo crear 5 circulos cuando el usuario me pida 5 de estos objetos?
Pues si alguien me puede ayudar lo agradeceria, nos vemos.
Gracias.
Nagisa:
Demasiado sencillo.
Creando 5 de esos objetos y dibujandolos igual que cuando solo tienes uno.
Supongo que tu tendras algo asi:
Circulo circ = new Circulo(r, x, y);
circ.dibujar();
Ahora lo que tienes que hacer es meterlo en un bucle, y los argumentos en arrays para poder acceder a ellos:
for (int i = 0; i < max; i++){
Circulo circ = new Circulo(r, x, y);
circ.dibujar();
}
No se muy bien si es esto lo que preguntas...
Saludos :hola:
lencho:
--- Citar ---for (int i = 0; i < max; i++){
Circulo circ = new Circulo(r, x, y);
circ.dibujar();
}
--- Fin de la cita ---
al hacer esto perderias las referencias a los objetos ya creados, osea al 1,2,3,4.
Consejo.
A tu clase Circula agrega un ID.
y despues hace lo te dice Nagisa.
--- Código: Text --- for (int i = 0; i < max; i++){ Circulo circ = new Circulo(r[i], x[i], y[i]); circ.setID(i); circ.dibujar();}
BYTE.
Presscot:
Hola de nuevo!!!
Gracias !!! puse en marcha lo que me dijeron y ya funciona, se los agradezco.
Nos vemos gracias de nuevo
silverfox:
Hola...
Lamentablemente, lencho, tu solución también es incorrecta, en el sentido de que pierdes también la referencia al objeto Circulo.
--- Citar ---
--- Código: Text ---for (int i = 0; i < max; i++){ Circulo circ = new Circulo(r[i], x[i], y[i]); circ.setID(i); circ.dibujar();}
--- Fin de la cita ---
Si te fijas, estás sobreescribiendo el objeto circ en cada vuelta de bucle, por lo que dará igual todo, sólo funcionará si sólo quieres dibujarlo una vez y luego olvidarte de todos los círculos excepto del último (y para eso ya servía el código de Nagisa)
Editado: La última referencia a Circulo también la pierdes, porque es una variable local al bucle. En cuanto salgas del for, desaparecerá pasto del recogedor de basura ;)
Lo que habría que hacer sería crear un array de Circulo antes del bucle y guardar los datos alli (o un Vector mejor, en mi opinión):
--- Código: Text ---Vector todos_los_circulos= new Vector();for (int i = 0; i < max; i++){ Circulo circ = new Circulo(r[i], x[i], y[i]); todos_los_circulos.add(circ); circ.dibujar();}
De esta forma, puedes recuperar los Circulos posteriormente de la siguiene forma:
--- Código: Text ---Circulo mi_circulo_i = (Circulo) todos_los_circulos.get(i)
Suerte.
Silverfox.
Navegación
[#] Página Siguiente
Ir a la versión completa