Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/08/2013, 10:49
Avatar de drakk92
drakk92
 
Fecha de Ingreso: julio-2013
Ubicación: cali
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 1
Exclamación Como usar un metodo para 2 clases en donde necesito calcular lo mismo

Hola gente, se preguntaran el porque un metodo para 2 clases en donde calculo lo mismo?

Resulta que tengo todo mi codigo para calcular la edad a partir de una frecha seleccionada en un JCalendarCombo, ningun problema por esa parte; pero resulta que necesito calcular la edad tanto para clientes, como para empleados.

Resulta que tengo 2 clases, "Empleado", "Cliente" cada uno con su respectivo JCalendarCombo, bueno resulta que en el JCalendarCombo le hice un split para pasar los meses "String" a meses "int", la pregunta es como usar el mismo split para los 2 JCalendarCombo sin tener que hacerlo separadamente para cada uno?

Otra cosa, despues de hacer ese split esas variables las uso para compararlas con la fecha actual y posteriormete mandar el resultado "Edad" en una variable. para asi guardarla a un DB.

Mi metodo es el siguiente:

Código Java:
Ver original
  1. package ObtenerEdad;
  2.  
  3. import Modelos.Fecha;
  4. import Modelos.MCliente;
  5. import Modelos.MHistorial;
  6.  
  7. import formularios.Historial;
  8. import formularios.Cliente;
  9.  
  10.  
  11. public class ObtenerFecha {
  12.  
  13.     MHistorial MH = new MHistorial();
  14.     MCliente MC = new MCliente();
  15.     Historial Historial;
  16.     Cliente Cliente;
  17.    
  18.    
  19.    
  20.     public ObtenerFecha(Cliente Cliente){
  21.     this.Cliente = Cliente;
  22.        
  23. }
  24.    
  25.     public int CalcularEdad() {
  26.        
  27.         Fecha f = new Fecha();
  28.        
  29.         Calendar = MC.setCalendar(Cliente.getSelected()); //JCalendarCombo del cliente
  30.         String Fecha = String.valueOf(Calendar);
  31.         //Fecha Registrada
  32.  
  33. //Arriba pase el calendario a la variable fecha para asi despues hacerle el split, la pregunta es: a los 2 JCAlendarCombo les pudo hacer el split y guardarlos en variables diferentes, pero el problema es que me tocaria hacer todo esa particion de los meses y luego calcular la fecha etc..
  34.  
  35.         String Arreglo[] = new String[5];
  36.         Arreglo = Fecha.split(" ");
  37.  
  38.         String Dia = Arreglo[0];
  39.         int NumDia = Integer.parseInt(Arreglo[1]);
  40.         String De = Arreglo[2];
  41.         String Mes = Arreglo[3];
  42.         String De2 = Arreglo[4];
  43.         int Año = Integer.parseInt(Arreglo[5]);
  44.  
  45.         int Mese = 0;
  46.  
  47.         switch (Mes) {
  48.             case "enero":
  49.                 Mese = 1;
  50.                 break;
  51.             case "febrero":
  52.                 Mese = 2;
  53.                 break;
  54.             case "marzo":
  55.                 Mese = 3;
  56.                 break;
  57.             case "abril":
  58.                 Mese = 4;
  59.                 break;
  60.             case "mayo":
  61.                 Mese = 5;
  62.                 break;
  63.             case "junio":
  64.                 Mese = 6;
  65.                 break;
  66.             case "julio":
  67.                 Mese = 7;
  68.                 break;
  69.         }
  70.  
  71.  
  72.  
  73.         //fecha Actual
  74.         String Arreglo2[] = new String[2];
  75.         Arreglo2 = f.getFecha().split("/");
  76.  
  77.         int Dia1 = Integer.parseInt(Arreglo2[0]);
  78.         int Mes1 = Integer.parseInt(Arreglo2[1]);
  79.         int Año1 = Integer.parseInt(Arreglo2[2]);
  80.  
  81.         // Cálculo de las diferencias.
  82.         int años = Año1 - Año;
  83.         int meses = Mes1 - Mese;
  84.         int dias = Dia1 - NumDia;
  85.  
  86.         // Hay que comprobar si el día de su cumpleaños es posterior
  87.         // a la fecha actual, para restar 1 a la diferencia de años,
  88.         // pues aún no ha sido su cumpleaños.
  89.  
  90.         if (meses < 0 // Aún no es el mes de su cumpleaños
  91.                 || (meses == 0 && dias < 0)) { // o es el mes pero no ha llegado el día.
  92.  
  93.             años --;
  94.            
  95.         }
  96.         return años;
  97.     }
  98. }

Como podran ver aqui calculo la edad para el cliente. como hago para decirle que si es para cliente haga lo mismo y para empleado lo mismo "El metodo de calcular la edad", una cosa que me pone a pensar es: el split se lo tengo que hacer obligado para cada JCalendarCombo. pero si quiero calcular la edad independiente me toca hacer el codigo 2 veces pero diferentes variables .