Serar que vocês podem me ajudar nesse enigma, preciso calular a idade da minha classe canditado e não consigo fazer.
Agradeço se alguém me ajudar.
segua abaixo uma parte do código ontem o local de implementar, se quizerem o código de toda classe eu enviarei.
public int calculaIdade()
{
int idade = 0;
// IMPLEMENTE AQUI
return idade;
}
Erilson Melo
ToBack
Junho 8, 2009, 9:53am
#2
public int calculaIdade(String data) throws ParseException{
int idade = 0;
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date data1 = df.parse(data);
Date data2 = new Date();
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(data1);
cal2.setTime(data2);
int year1 = cal1.get(Calendar.YEAR);
int year2 = cal2.get(Calendar.YEAR);
int month1 = cal1.get(Calendar.MONTH);
int month2 = cal2.get(Calendar.MONTH);
int day1 = cal1.get(Calendar.DAY_OF_MONTH);
int day2 = cal2.get(Calendar.DAY_OF_MONTH);
idade = year2 - year1;
if ( (month2 < month1)
|| ( (month2 == month1) && (day2 < day1) ) ) {
idade -= 1;
}
return idade;
}
Leia o código para entender o funcionamento.
public long getIdade(String data) throws ParseException {
DateFormat df = DateFormat.getDateInstance();
Date date = df.parse(data);
return (new Date().getTime() - date.getTime()) / (31536000000L);
}
[quote=ToBack]
public int calculaIdade(String data) throws ParseException{
int idade = 0;
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date data1 = df.parse(data);
Date data2 = new Date();
Calendar cal1 = Calendar.getInstance();
Calendar cal2 = Calendar.getInstance();
cal1.setTime(data1);
cal2.setTime(data2);
int year1 = cal1.get(Calendar.YEAR);
int year2 = cal2.get(Calendar.YEAR);
int month1 = cal1.get(Calendar.MONTH);
int month2 = cal2.get(Calendar.MONTH);
int day1 = cal1.get(Calendar.DAY_OF_MONTH);
int day2 = cal2.get(Calendar.DAY_OF_MONTH);
idade = year2 - year1;
if ( (month2 < month1)
|| ( (month2 == month1) && (day2 < day1) ) ) {
idade -= 1;
}
return idade;
}
Leia o código para entender o funcionamento.
[/quote]
Valeu mesmo obrigado pela ajuda, vou tentar resolver agora pra ver se consigo…
[quote=thiago.correa][code]
public long getIdade(String data) throws ParseException {
DateFormat df = DateFormat.getDateInstance();
Date date = df.parse(data);
return (new Date().getTime() - date.getTime()) / (31536000000L);
}
[/code][/quote]
Valeu mesmo obrigado pela ajuda, vou tentar resolver agora pra ver se consigo…
Isso não é dúvida em Java, em linguagem de programação.
Isso é dúvida em lógica de programação. Vocês acabaram que resolver o dever de casa do rapaz. Eu não acho isso legal. Mas…
Bom, como a lição de casa está resolvida, vamos fechar isto aqui.