Boa tarde…
Estou tendo que fazer um método que calcula a idade de um funcionário, e uma dica que eu recebi é que, subtraindo a data invertida de nascimento da data invertida de hoje e dividindo por 10000, obtêm-se a idade do funcionário. Mas eu não estou conseguindo fazer.
A classe onde tem os dados de data é essa aqui:
[code] //importa a classe da biblioteca Java
import java.util.GregorianCalendar;
public class Data{
private int dia;
private int mes;
private int ano;
//---------------------------------------------
// constrói o objeto Data com a data recebida no
// recebidos via parâmetros
public Data(int d, int m, int a){
dia = d;
mes = m;
ano = a;
}
//----------------------------------------------
// inteiro AAAAMMDD
public Data(int data){
setAno(data/10000);
setDia(data%100);
setMes(data/10000/100);
}
//----------------------------------------------
// constrói o objeto Data com a data atual
public Data(){
GregorianCalendar c = new GregorianCalendar();
dia = c.get(GregorianCalendar.DAY_OF_MONTH);
mes = c.get(GregorianCalendar.MONTH)+1;
ano = c.get(GregorianCalendar.YEAR);
}
//---------------------------------------------
public static boolean bissexto(int intAno) {
if ((intAno % 4 == 0 && intAno % 100 != 0) || (intAno % 400 == 0))
return true;
else
return false;
}
public void setDia(int dia){
if (dia > 0 && dia < 32){
this.dia = dia;
}else{
this.dia=1;
}
}
public void setMes(int mes){
if (mes > 1 && mes < 13){
this.mes = mes;
} else {
this.mes=1;
}
}
public void setAno(int ano){
if (ano >= 1920 && ano <= getAno()){
this.ano = ano;
} else {
this.ano = getAno();
}
}
// métodos de acesso aos atributos
public int getDia(){
return dia;
}
public int getMes(){
return mes;
}
public int getAno(){
return ano;
}
// retorna a data no formato padrão dd/mm/AA
public String getDataPadrao(){
return dia + "/" + mes + "/" + ano;
}
//----------------------------------------------
// retorna a data como um número inteiro (ano mês, dia)
public int getDataInvertida(){
return ano * 10000 + mes * 100 + dia;
}
}//fim da classe [/code]