• Viernes 8 de Noviembre de 2024, 19:21

Autor Tema:  DUDA Adminstracion de datos mediante arreglos  (Leído 1163 veces)

xReGex

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
DUDA Adminstracion de datos mediante arreglos
« en: Domingo 17 de Octubre de 2010, 03:29 »
0
Hola tengo que hacer lo siguiente:
Un programa que muestre un menú para llevar la administración de de datos de personas:
-0) Salir,  1) Registrar personas,  2) Listar todas las personas con su datos,  3)Listar datos de personas ordenadas según su edad de menor a mayor,  4)Listar datos de personas por estatura de menor a mayor.
-Cada clase persona contiene: nombre, año de nacimiento, y estatura. Métodos de constructor persona, to_string y un método que regresa la edad de la persona según su año de nacimiento (si nació en el año 1990, el método getEdad() regresa 20).


Ahora lo que me falta es el registro de personas.... mi programa funciona pero no tiene menu ni registra personas... si alguien me podria ayudar con el registro de personas se los agradeseria mucho

Principal
Código: Text
  1.  
  2. import java.util.ArrayList;
  3. import java.util.Collections;
  4.  
  5. public class ExamenProb7 {
  6.  
  7.     public static void main(String[] args) {
  8.    
  9.         ArrayList<Persona> colPersona = new ArrayList<Persona>();
  10.        
  11.         Persona p = new Persona("a", 2, 2);
  12.         colPersona.add(p);
  13.         p = new Persona("b", 3, 3);
  14.         colPersona.add(p);
  15.         p = new Persona("c", 1, 7);
  16.         colPersona.add(p);
  17.         p = new Persona("d", 5, 4);
  18.         colPersona.add(p);
  19.        
  20.    
  21.        
  22.         System.out.println("Sin ordenar");
  23.         listar(colPersona);
  24.    
  25.         System.out.println("Orden por edad");
  26.         Collections.sort(colPersona, new OrdenarEdad());
  27.         listar(colPersona);
  28.    
  29.         System.out.println("Orden por Estatura");
  30.         Collections.sort(colPersona, new OrdenarEstatura());
  31.         listar(colPersona);
  32.  
  33.         }
  34.    
  35.    
  36.     public static void listar(ArrayList<Persona>  colP )
  37.     {
  38.         for(Persona p : colP)
  39.         {
  40.             System.out.println(p.toString());
  41.         }
  42.     }
  43.  
  44. }
  45.  
  46.  

Código: Text
  1.  
  2. public class Persona {
  3.    
  4.     private String nombre;
  5.     private int edad;
  6.     private float estatura;
  7.    
  8.     public Persona(String initNombre, int initEdad, float initEstatura )  {
  9.        
  10.         nombre = initNombre;
  11.         edad = initEdad;
  12.         estatura = initEstatura;
  13.     }
  14.    
  15.  
  16.    
  17.     public String toString() {
  18.        
  19.         return nombre + " - " +  edad + " - " + estatura;
  20.     }
  21.    
  22.     public float getEstatura() {
  23.        
  24.         return estatura ;
  25.     }
  26.    
  27.     public int getEdad() {
  28.        
  29.         return edad ;
  30.     }
  31. }
  32.    
  33.  
  34.  

Código: Text
  1.  
  2. import java.util.Comparator;
  3.  
  4. public class OrdenarEdad implements Comparator{
  5.  
  6.       public int compare(Object o1, Object o2) {
  7.           Persona u1 = (Persona) o1;
  8.           Persona u2 = (Persona) o2;
  9.         return u1.getEdad() - u2.getEdad();
  10.       }
  11.  
  12.       public boolean equals(Object o) {
  13.         return this == o;
  14.       }
  15.  
  16.    
  17. }
  18.  
  19. [code]
  20. import java.util.Comparator;
  21.  
  22. public class OrdenarEstatura implements Comparator{
  23.  
  24.      public int compare(Object o1, Object o2) {
  25.             Persona u1 = (Persona) o1;
  26.             Persona u2 = (Persona) o2;
  27.             return new Float(u1.getEstatura()).compareTo(new Float(u2.getEstatura()));
  28.           }
  29.  
  30.           public boolean equals(Object o) {
  31.             return this == o;
  32.           }
  33.  
  34. }
  35.  
  36.  
 
 
[/code]

de antemano gracias

LuisYactayo

  • Miembro activo
  • **
  • Mensajes: 36
  • Nacionalidad: pe
    • Ver Perfil
Re: DUDA Adminstracion de datos mediante arreglos
« Respuesta #1 en: Martes 19 de Octubre de 2010, 18:33 »
0
Para hacer el menu puedes hacer un while, rapidamente se me ocurre algo asi:
int pos = 0; //variable global
While (rpta <> 0){
//Mostrando menu:
System.out....("0 = Salir 1 = Registrar personas.......")
//Leo la rpta
     switch (rpta){
           case 1 : RegistraPersona();break;
           case 2 : ListaPersona();break;
          ........
     }
}
 public static void RegistraPersona(){

   //Llenar arreglo en la posicion de la variable global
    arreglo[pos].cod = "P0001"
    arreglo[pos].nom = "Luis"
    arreglo[pos].ape = "Yactayo"
    pos = pos + 1 //cada vez que guardas una nueva persona la posicion aumenta
}

Cualquier duda solo escribes...... :D  :D  B)