Filtragem

Olá Pessoal!

     Por favor me me ajudem nesse código preciso fazer esse código e não estou conseguindo, em Relação a Classe Filtro tenho que fazer esse código em com a Classe canditado ondem tem o nome // IMPLEMENT AQUI da classe Candidato já fim só falta a da Classe Filtro, segue o código fonte. 

Resumindo, tenho que desenvolver um metodo calculaIdade() da classe Candidato e um metodo realizaFiltragem() da classe Fitro como segue abaixo.

ESSA É A CLASE FILTRO

[code]package estudodecaso2;

import java.util.ArrayList;

// Classe que representa o filtro de candidatos do sistema.

public class Filtro
{

// Metodo
/**
* Realiza a filtragem de candidatos
* @param nome nome do candidato 
*/ 	
public void realizaFiltragem(ArrayList<Empresa> empresas, ArrayList<Candidato> candidatos)
{	

	 // IMPLEMENTE AQUI

}

}
[/code]

ESSA É A CLASSE CANDITATO

[code]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;
      }
      }

[/code]