Calcula a idade classe candidato a partir da sua data de nascimento segue o codigo fonte

Olá onde está digitado //IMPLEMENTE AQUI é onde irei digitar o codigo fonte será que alguém pode me ajudar…??

package estudodecaso2;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.StringTokenizer;

/**

  • @author TADS - UNITINS

  • Classe que representa um candidato.
    */
    public class Candidato
    {
    // Atributos
    private String sNome;
    private String sEndereco;
    private String sCidade;
    private String sEstado;
    private String sTelefone;
    private Calendar dDataNasc;
    private char cSexo;
    private String sEmail;
    private String sEscolaridade;
    private boolean bTrabOutraCidade;
    private ArrayList aCargos;
    private ArrayList aSalariosPretendidos;

    // Construtor
    public Candidato()
    {
    sNome = null;
    sEndereco = null;
    sCidade = null;
    sEstado = null;
    sTelefone = null;
    dDataNasc = Calendar.getInstance();
    cSexo = ’ ';
    sEmail = null;
    sEscolaridade = null;
    bTrabOutraCidade = false;
    aCargos = new ArrayList();
    aSalariosPretendidos = new ArrayList();
    }
    // Metodos
    /**

    • Configura o nome do candidato
    • @param nome nome do candidato
      */
      public void setNome(String nome)
      {
      sNome = nome;
      }

    /**

    • Retorna o nome do candidato
    • @return nome do candidato
      */
      public String getNome()
      {
      return sNome;
      }

    /**

    • Configura o endereco do candidato
    • @param endereco endereco do candidato
      */
      public void setEndereco(String endereco)
      {
      sEndereco = endereco;
      }

    /**

    • Retorna o endereco do candidato
    • @return endereco do candidato
      */
      public String getEndereco()
      {
      return sEndereco;
      }

    /**

    • Configura a cidade do candidato
    • @param cidade cidade do candidato
      */
      public void setCidade(String cidade)
      {
      sCidade = cidade;
      }

    /**

    • Retorna a cidade do candidato
    • @return cidade do candidato
      */
      public String getCidade()
      {
      return sCidade;
      }

    /**

    • Configura o estado do candidato
    • @param estado estado do candidato
      */
      public void setEstado(String estado)
      {
      sEstado = estado;
      }

    /**

    • Retorna o estado do candidato
    • @return estado do candidato
      */
      public String getEstado()
      {
      return sEstado;
      }

    /**

    • Configura o telefone do candidato
    • @param telefone telefone do candidato
      */
      public void setTelefone(String telefone)
      {
      sTelefone = telefone;
      }

    /**

    • Retorna o telefone do candidato
    • @return telefone do candidato
      */
      public String getTelefone()
      {
      return sTelefone;
      }

    /**

    • Configura a data de nascimento do candidato
    • @param dataNasc data de nascimento do candidato
      */
      public void setDataNasc(String dataNasc)
      {
      StringTokenizer st = new StringTokenizer(dataNasc, “/”);
      int iDia = Integer.parseInt(st.nextToken());
      int iMes = Integer.parseInt(st.nextToken())-1;
      int iAno = Integer.parseInt(st.nextToken());
      dDataNasc.set(iAno, iMes, iDia);
      }

    /**

    • Retorna o dia em que o candidato nasceu
    • @return dia em que o candidato nasceu
      */
      public int getDiaNasc()
      {
      return dDataNasc.get(Calendar.DATE);
      }

    /**

    • Retorna o mes em que o candidato nasceu
    • @return mes em que o candidato nasceu
      */
      public int getMesNasc()
      {
      return dDataNasc.get(Calendar.MONTH);
      }

    /**

    • Retorna o ano em que o candidato nasceu
    • @return ano em que o candidato nasceu
      */
      public int getAnoNasc()
      {
      return dDataNasc.get(Calendar.YEAR);
      }

    /**

    • Retorna a data de nascimento do candidato
    • @return data de nascimento do candidato
      */
      public Calendar getDataNasc()
      {
      return dDataNasc;
      }

    /**

    • Configura o sexo do candidato
    • @param sexo sexo do candidato
      */
      public void setSexo(char sexo)
      {
      cSexo = sexo;
      }

    /**

    • Retorna o sexo do candidato
    • @return sexo do candidato
      */
      public char getSexo()
      {
      return cSexo;
      }

    /**

    • Configura o e-mail do candidato
    • @param email e-mail do candidato
      */
      public void setEmail(String email)
      {
      sEmail = email;
      }

    /**

    • Retorna o e-mail do candidato
    • @return e-mail do candidato
      */
      public String getEmail()
      {
      return sEmail;
      }

    /**

    • Configura a escolaridade do candidato
    • @param escolaridade escolaridade do candidato
      */
      public void setEscolaridade(String escolaridade)
      {
      sEscolaridade = escolaridade;
      }

    /**

    • Retorna a escolaridade do candidato
    • @return escolaridade do candidato
      */
      public String getEscolaridade()
      {
      return sEscolaridade;
      }

    /**

    • Configura se o candidato tem disponibilidade para trabalhar em outra cidade (true) ou nao (false)
    • @param trabOutraCidade disponibilidade do candidato trabalhar em outra cidade
      */
      public void setTrabOutraCidade(boolean trabOutraCidade)
      {
      bTrabOutraCidade = trabOutraCidade;
      }

    /**

    • Retorna se o candidato tem disponibilidade para trabalhar em outra cidade (true) ou nao (false)
    • @return disponibilidade do candidato trabalhar em outra cidade
      */
      public boolean getTrabOutraCidade()
      {
      return bTrabOutraCidade;
      }

    /**

    • Armazena um cargo pretendido pelo candidato
    • @param cargo cargo pretendido pelo candidato
      */
      public void adicionaCargo(String cargo)
      {
      aCargos.add(cargo);
      }

    /**

    • Retorna a lista de cargos pretendidos pelo candidado
    • @return lista de cargos pretendidos
      */
      public ArrayList getCargo()
      {
      return aCargos;
      }

    /**

    • Armazena o salario pretendido pelo candidato a um determinado cargo
    • @param salario salario pretendido pelo candidato
      */
      public void adicionaSalarioPretendido(float salario)
      {
      aSalariosPretendidos.add(salario);
      }

    /**

    • Retorna a lista de salarios pretendidos pelo candidado
    • @return lista de salarios pretendidos
      */
      public ArrayList getSalariosPretendidos()
      {
      return aSalariosPretendidos;
      }

    /**

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

    • @return idade do candidato
      */
      public int calculaIdade()
      {
      int idade = 0;

            // IMPLEMENTE AQUI
      
            return idade;
      

    }

    /**

    • Retorna um indice para a escolaridade do candidato
    • Ensino medio(0), Tecnico(1), Graduacao(2), Especializacao(3), Mestrado(4), Doutorado(5)
    • @return indice da escolaridade do candidato
      */
      public int getIndiceEscolaridade()
      {
      if((sEscolaridade.toLowerCase()).equals(“ensino médio”))
      {
      return 0;
      }
      else if((sEscolaridade.toLowerCase()).equals(“técnico”))
      {
      return 1;
      }
      else if((sEscolaridade.toLowerCase()).equals((“graduação”)))
      {
      return 2;
      }
      else if((sEscolaridade.toLowerCase()).equals(“especialização”))
      {
      return 3;
      }
      else if((sEscolaridade.toLowerCase()).equals(“mestrado”))
      {
      return 4;
      }
      else if((sEscolaridade.toLowerCase()).equals(“doutorado”))
      {
      return 5;
      }
      return -1;
      }
      }

Agradeço,

Erilson Melo

vai la, qdo postar coloque seu cod. entre as tags [code]

public static final long HOUR = 60L * 60L * 1000L;

	public static Integer getIdade(Date dtNascimento) {

		int idade;
		try {

			GregorianCalendar gc = (GregorianCalendar) GregorianCalendar
					.getInstance();
			gc.setTime(dtNascimento);

			int anoNascimento = gc.get(GregorianCalendar.YEAR);
			int mesNascimento = gc.get(GregorianCalendar.MONTH);
			int diaNascimento = gc.get(GregorianCalendar.DAY_OF_MONTH);

			gc.setTime(DateUtil.getDataAtual2());

			int anoAtual = gc.get(GregorianCalendar.YEAR);
			int mesAtual = gc.get(GregorianCalendar.MONTH);
			int diaAtual = gc.get(GregorianCalendar.DAY_OF_MONTH);

			if (mesAtual < mesNascimento) {
				idade = anoAtual - anoNascimento - 1;
			} else if (mesAtual > mesNascimento) {
				idade = anoAtual - anoNascimento;
				/* se for o mesmo mês */
			} else {
				if (diaAtual < diaNascimento) {
					idade = anoAtual - anoNascimento - 1;
				} else {
					idade = anoAtual - anoNascimento;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
			return null;
		}

		return new Integer(idade);

	}

	public static Date getDataAtual2() {
		/*
		 * Pega a diferença do fuso horário do cliente com relação ao fuso de
		 * Brasília Esse número está cadastrado no banco.
		 */
		Integer fuso = new Integer(0);

		// TimeZone.setDefault(TimeZone.getTimeZone("GMT-3:00"));
		GregorianCalendar gc = (GregorianCalendar) GregorianCalendar
				.getInstance();
		if (!new Integer(0).equals(fuso))
			gc
					.setTimeInMillis(gc.getTimeInMillis()
							- (fuso.longValue() * HOUR));
		return gc.getTime();
	}

Olá, tudo isso que você digitou é a resposta da minha pergunta é?

[quote=avsouza]vai la, qdo postar coloque seu cod. entre as tags [code]

[code]
public static final long HOUR = 60L * 60L * 1000L;

public static Integer getIdade(Date dtNascimento) {

	int idade;
	try {

		GregorianCalendar gc = (GregorianCalendar) GregorianCalendar
				.getInstance();
		gc.setTime(dtNascimento);

		int anoNascimento = gc.get(GregorianCalendar.YEAR);
		int mesNascimento = gc.get(GregorianCalendar.MONTH);
		int diaNascimento = gc.get(GregorianCalendar.DAY_OF_MONTH);

		gc.setTime(DateUtil.getDataAtual2());

		int anoAtual = gc.get(GregorianCalendar.YEAR);
		int mesAtual = gc.get(GregorianCalendar.MONTH);
		int diaAtual = gc.get(GregorianCalendar.DAY_OF_MONTH);

		if (mesAtual < mesNascimento) {
			idade = anoAtual - anoNascimento - 1;
		} else if (mesAtual > mesNascimento) {
			idade = anoAtual - anoNascimento;
			/* se for o mesmo mês */
		} else {
			if (diaAtual < diaNascimento) {
				idade = anoAtual - anoNascimento - 1;
			} else {
				idade = anoAtual - anoNascimento;
			}
		}
	} catch (Exception e) {
		e.printStackTrace();
		return null;
	}

	return new Integer(idade);

}

public static Date getDataAtual2() {
	/*
	 * Pega a diferença do fuso horário do cliente com relação ao fuso de
	 * Brasília Esse número está cadastrado no banco.
	 */
	Integer fuso = new Integer(0);

	// TimeZone.setDefault(TimeZone.getTimeZone("GMT-3:00"));
	GregorianCalendar gc = (GregorianCalendar) GregorianCalendar
			.getInstance();
	if (!new Integer(0).equals(fuso))
		gc
				.setTimeInMillis(gc.getTimeInMillis()
						- (fuso.longValue() * HOUR));
	return gc.getTime();
}

[/code][/quote]

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

eh uma forma sim