Calcula a idade do candidato a partir da sua data de nascimento

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

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. :smiley:

       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. :smiley:

[/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…

Não é legal replicar post dentro do forum…
http://www.guj.com.br/posts/list/0/129093.java#695948

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.