Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/11/2010, 11:51
AndresFomeyko
 
Fecha de Ingreso: agosto-2010
Mensajes: 19
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Constructores y Arrays

gracias leocente por tu pronta respuesta
he intentado lo que me propusiste y al parecer funciona
pero cree otro metodo que deberia mostrar todos los datos del vector (mostrar_atletas())...

Código Java:
Ver original
  1. mport java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.io.IOException;
  4.  
  5. public class Menu
  6. {
  7.     public Atleta datos[];
  8.     int indice = 0;
  9.    
  10.    public void crear_atleta()throws IOException
  11.     {
  12.         datos = new Atleta[5];
  13.         int espacios = 5;
  14.        
  15.             while (indice<datos.length)
  16.             {
  17.                 BufferedReader teclado=new BufferedReader(new InputStreamReader(System.in));
  18.                 System.out.print("Quedan "+espacios+" espacios.\n");
  19.                 System.out.print("Ingrese los datos que se requeriran a continuacion:\n");
  20.                 System.out.print("Ingrese los nombres: ");
  21.                 String losNombres=teclado.readLine();
  22.                 System.out.print("Ingrese los apellidos: ");
  23.                 String losApellidos=teclado.readLine();
  24.                 System.out.print("Ingrese la estatura (mts): ");
  25.                 double laEstatura=Double.parseDouble(teclado.readLine());
  26.                 System.out.print("Ingrese el peso (kgs): ");
  27.                 int elPeso=Integer.parseInt(teclado.readLine());
  28.                 System.out.print("Ingrese el sexo: ");
  29.                 boolean elSexo=Boolean.parseBoolean(teclado.readLine());
  30.                 System.out.print("Ingrese la edad: ");
  31.                 int laEdad=Integer.parseInt(teclado.readLine());
  32.                 System.out.print("Ingrese el record (segundos): ");
  33.                 float elRecord=Float.parseFloat(teclado.readLine());
  34.                 System.out.print("Ingrese la nacionalidad: ");
  35.                 String laNacionalidad=teclado.readLine();
  36.                 System.out.println();
  37.            
  38.                 datos[indice] = new Atleta(losNombres,losApellidos,laEstatura,elPeso,elSexo,laEdad,elRecord,laNacionalidad);
  39.                 indice++;
  40.                 espacios--;
  41.             }
  42.        System.out.print("Se ha llenado la memoria con el limite de registros.\nVolviendo al menu principal...");
  43.        try {
  44.        Thread.sleep(2500);
  45.        } catch (InterruptedException e) {
  46.        e.printStackTrace();
  47.        }
  48.        menu();
  49.     }
  50.  
  51.     public void mostrar_atletas()throws IOException
  52.     {
  53.         int i;
  54.            
  55.             for(i=0;i<indice;i++)
  56.             {
  57.                 System.out.println("\nNombres: "+datos[i].losNombres);
  58.                 System.out.println("\nApellidos: "+datos[i].losApellidos);
  59.                 System.out.println("\nEstatura (mts): "+datos[i].laEstatura);
  60.                 System.out.println("\nPeso (kgs): "+datos[i].elPeso);
  61.                 System.out.println("\nSexo: "+datos[i].elSexo);
  62.                 System.out.println("\nEdad: "+datos[i].laEdad);
  63.                 System.out.println("\nRecord (segundos): "+datos[i].elRecord);
  64.                 System.out.println("\nNacionalidad: "+datos[i].laNacionalidad);
  65.             }
  66.            try {
  67.                Thread.sleep(5000);
  68.                } catch (InterruptedException e) {
  69.                 e.printStackTrace();
  70.             }
  71.         menu();
  72.     }
  73.    
  74.     public void menu()throws IOException
  75.     {
  76.         int opc;
  77.         int control=0;
  78.        
  79.         BufferedReader opcion=new BufferedReader(new InputStreamReader(System.in));
  80.         System.out.print("\n\n\n\t\t\t\tMenu\n\n");
  81.         System.out.print("1.- Crear atletas\n2.- Mostrar atletas\n3.- Modificar peso atleta\n4.- Modificar record atleta\n5.- Modificar edad atleta\n6.- Salir");
  82.         System.out.println("\n\nIngrese su opcion: ");
  83.         opc=Integer.parseInt(opcion.readLine());
  84.        
  85.             if(opc<1||opc>6){
  86.                     System.out.println("Error!!!\nIngrese una opcion valida\n");
  87.                     menu();
  88.             }
  89.            
  90.         switch (opc){
  91.             case 1:
  92.                 crear_atleta();  
  93.                break;
  94.             case 2:
  95.                 mostrar_atletas();
  96.                break;
  97.             case 3:
  98.                
  99.                break;
  100.             case 4:
  101.                
  102.                break;
  103.             case 5:
  104.                
  105.                break;
  106.             case 6:
  107.                System.exit(0);
  108.                break;
  109.             default:
  110.                System.out.println("Vuelva a intentar");
  111.                break;
  112.         }    
  113.     }
  114.    
  115.    
  116. }

pero me el compilador me lanza un error diciendo que no encuentra las variables: losNombres, losApellidos, laEstaura, etc
no se que estare haciendo mal ahora.
una vez mas gracias