Buenass, estoy empezando con java y estoy haciendo un ejercicio, bueno programa xD en la que creo una clase persona() y dentro de esta una serie de metodos (nombre edad..) y la informacion etc, y en la clase principal tengo que crear hasta cinco "personas" para introducir sus datos desde la clase principal llamando a los metodos y aqui ya me he atascado
porque pido por scan los datos pero no se como pasarselos a la clase persona(), aqui dejo el codigo de la clase principal:
package practica4; import java.util.Scanner; public class UsoPersona { public static void main(String[] args) { //Declaracion de variables Scanner teclado=new Scanner(System.in); int n=0; //numero de personas String nombre; int edad; float peso; int nIdentificacion; persona ps=new persona(); //creamos un objeto de la clase persona //pedimos numero de personas a crear, no mas de 5. do{ System.out.println("Cuantas personas quieres registrar?"); n=teclado.nextInt(); if(n>5 || n<0)System.out.println("El numero introducido no es valido"); }while(n>5 || n<0); //creamos vector persona lista[]; lista=new persona[n]; /*aqui hago un bucle para pedir los datos de todas las personas que vaya a introducir*/ for(int i=0;i<n;i++){ System.out.println("Introduce los datos de la persona nº: "+n); System.out.print("Nombre: "); nombre=teclado.next(); System.out.print("Edad: "); edad=teclado.nextInt(); System.out.print("Peso: "); peso=teclado.nextFloat(); System.out.print("Numero de identificacion: "); nIdentificacion=teclado.nextInt(); } //como paso estas variables nuevas a los metodos del la clase persona?? /**************************En la clase perosona tengo un * metodo(no se si se llaman asi o constructores aun no lo tengo claro) *llamado: * public persona( String nombre, int edad){ this.nombre=nombre; this.edad=edad; * he probado a poner en esta la clase principal esto: * *ps.persona(nombre, edad); pero es erroneo * * */ ps.imprimir(); }
no me he explicado muy bien esque no se como preguntar esto, pero si alguien lo entiendo y me ayuda, gracias!
PD: en la clase persona() tengo nombradas tambien las mismas variables que tengo en esta clase principal y una mas que se llama contador para saber el numero de personas de la lista
Te faltaría una cosa:
lista [i] = new persona (nombre, edad)
Aunque habría que ver la clase persona para saber cómo se le meten los datos de peso y nº de id. Por ejemplo:
lista [i].cambiarPeso (peso);
O algo así.
Además, para imprimirlo tendrías que poner:
En vez de ps.imprimir.
Saludos!
Dennis Ritchie. Padre de C y cocreador de UNIX.
R.I.P.
Falta condicion!!!
Te falto darle condicion al ciclo... tu ecribiste :
for(int i=0;n;i++){}
Yo lo escribiria asi:
for(int i=0;n<10;i++){} Por ejemplo.
Donde esta la n tienes que usar un operador logico.
jajja ya ya puf cai despues,
jajja ya ya puf cai despues, que verguenza haber posteado esta pregunta tan tonta xD
pero bueno aprobechare para editarlo que me ha surgido otra duda