Problema vectores

Iniciado por kaly, 10 Febrero 2009, 22:16 PM

0 Miembros y 1 Visitante están viendo este tema.

kaly

Hola a tod@s !! A ver si me ayudais con un problemilla que no me sale.

Pues os comento, he creado una clase llamada clasePersona en la que he creado un método para dar nombre, edad y peso de unas personas.

Necesito que la clase principal (la main) pregunte cuántas personas se quieren introducir, vale eso sí: System.out.println("Personas a introducir: ");vale, también sé como hacer para que me lea el número que le introduzco por teclado y lo asigne a una variable.
Ahora viene el problema: necesito crear un vector, preferible con un bucle for, para que me cree los objetos llamados persona de la clase clasePersona que le he introducido por teclado en respuesta a la pregunta anterior, lo que no sé es dónde definir el vector, ni como definirlo, si con un tamaño u otro, en qué clase lo defino, en la clasePersona o en la main. Y cómo hago ese vector, lo que quiero es que desde una variable igual a 0 hasta el numero de personas que le he introducido me cree esos objetos que tendrán el nombre persona(i), i será desde 0 hasta el numero de personas que introduces cuando te pregunta cuantas personas quieres introducir.
¿Tengo que definir alguna variable más?

Creo que deberían quedar los objetos así, por ejemplo, si le digo que voy a introducir 3 personas que me cree: persona(1), persona(2) y person(3), se puede hacer para que dentro de ese mismo bucle for llame al método de la clase clasePersona??? es decir, persona(1).datosPersona(), persona(2).datosPersona(), persona(3).datosPersona(); datosPersona() es el método de la clase clasePersona para introducir los datos de cada persona.

Muchas gracias de antemano, no sé si me he explicado bien, pero si hay alguna duda me lo decís ok ??  Muchas gracias.

Un saludo.

Amerikano|Cls

Mira, esto lo puedes crear con un ArrayList o un arreglo convensional del tipo de la clase Persona:

Código (java) [Seleccionar]

Persona[] personas = new Personas[numPersonas];

for(int i=0; i<numPersonas; i++){
Persona p1 = new Persona();
personas[i] = p1;

}


Con esto tendrias un arreglo de Persona y tamaño numPersonas. Cabe recordar que numPersonas es el dato que recibes del usuario.

salu2




Mi blog:
http://amerikanocls.blogspot.com

kaly

#2
Vale, ya me sale, tu comentario me ha sido de mucha ayuda.

Lo he hecho así:

Persona persona[]=new Persona[numPersonas];

for (i=0;i<numPersonas;i++)
{
Persona p=new Persona();
p.leerNombre();
p.leerEdad();
p.leerPeso();
persona=p;
}
for (i=0;i<numPersonas;i++)
{
personas.imprimirDatos();
}

Así, me crea tantas personas como quiera el usuario y cada una hace el método leerDatos() y luego cuanto terminas de pasar los datos de todas las personas se imprime el nombre y la edad de cada persona, todas seguidas.

Muchas gracias. Un saludo.