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

4 respostas
B

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

4 Respostas

xandevieira
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();
	}
B

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

avsouza:
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();
	}
RenataFA

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

xandevieira

eh uma forma sim

Criado 8 de junho de 2009
Ultima resposta 8 de jun. de 2009
Respostas 4
Participantes 3