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 originalpackage ObtenerEdad;
import Modelos.Fecha;
import Modelos.MCliente;
import Modelos.MHistorial;
import formularios.Historial;
import formularios.Cliente;
public class ObtenerFecha {
MHistorial MH = new MHistorial();
MCliente MC = new MCliente();
Historial Historial;
Cliente Cliente;
public ObtenerFecha(Cliente Cliente){
this.Cliente = Cliente;
}
public int CalcularEdad() {
Fecha f = new Fecha();
Calendar = MC.
setCalendar(Cliente.
getSelected()); //JCalendarCombo del cliente //Fecha Registrada
//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..
Arreglo = Fecha.split(" ");
int NumDia
= Integer.
parseInt(Arreglo
[1]); int Año
= Integer.
parseInt(Arreglo
[5]);
int Mese = 0;
switch (Mes) {
case "enero":
Mese = 1;
break;
case "febrero":
Mese = 2;
break;
case "marzo":
Mese = 3;
break;
case "abril":
Mese = 4;
break;
case "mayo":
Mese = 5;
break;
case "junio":
Mese = 6;
break;
case "julio":
Mese = 7;
break;
}
//fecha Actual
Arreglo2 = f.getFecha().split("/");
int Dia1
= Integer.
parseInt(Arreglo2
[0]); int Mes1
= Integer.
parseInt(Arreglo2
[1]); int Año1
= Integer.
parseInt(Arreglo2
[2]);
// Cálculo de las diferencias.
int años = Año1 - Año;
int meses = Mes1 - Mese;
int dias = Dia1 - NumDia;
// Hay que comprobar si el día de su cumpleaños es posterior
// a la fecha actual, para restar 1 a la diferencia de años,
// pues aún no ha sido su cumpleaños.
if (meses < 0 // Aún no es el mes de su cumpleaños
|| (meses == 0 && dias < 0)) { // o es el mes pero no ha llegado el día.
años --;
}
return años;
}
}
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
.