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

bueno les cuento que soy un novato en java y me pidieron hacer el siguiente ejercicio: construir estas 2 clases...

Código JAVA:
Ver original
  1. import java.util.Scanner;
  2.  
  3. public class Deportista
  4. {
  5.     private String nombres;
  6.     private String apellidos;
  7.     private double estatura;
  8.     private int peso;
  9.     private boolean sexo;
  10.     private String genero;
  11.    
  12.     Deportista(String losNombres,String losApellidos)
  13.    {
  14.        nombres=losNombres;
  15.        apellidos=losApellidos;
  16.    }
  17.    
  18.    Deportista(String losNombres,String losApellidos,double laEstatura,int elPeso,boolean elSexo)
  19.    {
  20.        nombres=losNombres;
  21.        apellidos=losApellidos;
  22.        estatura=laEstatura;
  23.        peso=elPeso;
  24.        sexo=elSexo;
  25.     }
  26.    
  27.    public void setNombres()
  28.     {
  29.       Scanner name;
  30.       String temp;
  31.      
  32.       System.out.print("Ingrese los nuevos nombres: ");
  33.       name = new Scanner(System.in);
  34.       temp=name.next();
  35.       nombres=temp;
  36.     }
  37.    
  38.     public void setApellidos()
  39.     {
  40.       Scanner last_name;
  41.       String temp;
  42.      
  43.       System.out.print("Ingrese los nuevos apellidos: ");
  44.       last_name = new Scanner(System.in);
  45.       temp=last_name.next();
  46.       apellidos=temp;
  47.     }
  48.    
  49.     public void setEstatura()
  50.     {
  51.       Scanner stature;
  52.       String temp;
  53.      
  54.       System.out.print("Ingrese la nueva estatura (mts): ");
  55.       stature = new Scanner(System.in);
  56.       temp=stature.next();
  57.       estatura=Double.parseDouble(temp);
  58.     }
  59.    
  60.     public void setPeso()
  61.     {
  62.       Scanner weight;
  63.       String temp;
  64.      
  65.       System.out.print("Ingrese el nuevo peso (kgs): ");
  66.       weight = new Scanner(System.in);
  67.       temp=weight.next();
  68.       peso=Integer.parseInt(temp);
  69.     }
  70.    
  71.     public void setSexo()
  72.     {
  73.       Scanner gender;
  74.       String temp;
  75.      
  76.       System.out.print("Ingrese el nuevo sexo: ");
  77.       gender = new Scanner(System.in);
  78.       temp=gender.next();
  79.         if(temp.equals("masculino")){
  80.             sexo=true;
  81.             genero="masculino";
  82.         }
  83.           else{
  84.                 if(temp.equals("femenino")){
  85.                   sexo=false;
  86.                   genero="femenino";
  87.                 }
  88.           }
  89.          
  90.     }
  91.    
  92.     public String getNombres()
  93.     {
  94.         return nombres;
  95.     }
  96.    
  97.     public String getApellidos()
  98.     {
  99.         return apellidos;
  100.     }
  101.    
  102.     public double getEstatura()
  103.     {
  104.         return estatura;
  105.     }
  106.    
  107.     public int getPeso()
  108.     {
  109.         return peso;
  110.     }
  111.    
  112.     public String getSexo()
  113.     {
  114.         return genero;
  115.     }
  116.    
  117.     public void mostrarTodo()
  118.     {
  119.         System.out.print("Nombres: "+getNombres()+"\nApellidos: "+getApellidos()+"\nEstatura: "+getEstatura()+" mts\nPeso: "+getPeso()+" kgs\nSexo: "+getSexo());
  120.     }
  121. }

Código JAVA:
Ver original
  1. import java.util.Scanner;
  2.  
  3. public class Atleta extends Deportista
  4. {
  5.    private int edad;
  6.    private float record;
  7.    private String nacionalidad;
  8.    
  9.    Atleta(String losNombres,String losApellidos,int laEdad,float elRecord,String laNacionalidad)
  10.    {
  11.        super(losNombres,losApellidos);
  12.        edad=laEdad;
  13.        record=elRecord;
  14.        nacionalidad=laNacionalidad;
  15.    }
  16.    
  17.    Atleta(String losNombres,String losApellidos,double laEstatura,int elPeso,boolean elSexo,int laEdad,float elRecord,String laNacionalidad)
  18.    {
  19.        super(losNombres,losApellidos,laEstatura,elPeso,elSexo);
  20.        edad=laEdad;
  21.        record=elRecord;
  22.        nacionalidad=laNacionalidad;
  23.    }
  24.    
  25.     public void setEdad()
  26.     {
  27.       Scanner age;
  28.       String temp;
  29.      
  30.       System.out.print("Ingrese la nueva edad: ");
  31.       age = new Scanner(System.in);
  32.       temp=age.next();
  33.       edad=Integer.parseInt(temp);
  34.     }
  35.    
  36.     public void setRecord()
  37.     {
  38.       Scanner tiempo;
  39.       String temp;
  40.      
  41.       System.out.print("Ingrese el nuevo record (segundos): ");
  42.       tiempo = new Scanner(System.in);
  43.       temp=tiempo.next();
  44.       record=Float.parseFloat(temp);
  45.     }
  46.    
  47.     public void setNacionalidad()
  48.     {
  49.       Scanner nationality;
  50.       String temp;
  51.      
  52.       System.out.print("Ingrese la nueva nacionalidad: ");
  53.       nationality = new Scanner(System.in);
  54.       temp=nationality.next();
  55.       nacionalidad=temp;
  56.     }
  57.    
  58.     public int getEdad()
  59.     {
  60.         return edad;
  61.     }
  62.    
  63.     public float getRecord()
  64.     {
  65.         return record;
  66.     }
  67.    
  68.     public String getNacionalidad()
  69.     {
  70.         return nacionalidad;
  71.     }
  72.    
  73.     public void mostrar()
  74.     {
  75.         System.out.print("Edad: "+getEdad()+"\nRecord: "+getRecord()+"\nNacionalidad: "+getNacionalidad());
  76.     }
  77. }

y una clase adicional a modo de menu.
y lo que estoy tratando de hacer en este menu
es de guardar los datos en un constructor de la clase Atleta
pero el tema es que queria crear un array de 5 posiciones para guardar 5 registros. el problema es que no se si esto es posible. Lo intente de esta manera
pero no se que estare haciendo mal porque no puedo crearlo.

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

yo lo que se de java es muy poco por eso les pido que por favor me ayuden.
espero haberme hecho entender
de antemano gracias.