1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Exception em calculo de idade

Bom dia galera, estou com um problema no calculo da idade dos cadastros. Na tela está dando Acesso Inválido à memória, eu debuguei o código e ele me retorna que a idade está vazia, jogando uma exception. Alguém consegue ver algo errado com o meu código ?

    @Transient
    public int getIdade() {

        Calendar dataAtual = Funcoes.getDateToCalendar(new Date());
        Calendar dataNascimento = Funcoes.getDateToCalendar(getNascimento());

        int anoHj = dataAtual.get(Calendar.YEAR);
        int anoNascimento = dataNascimento.get(Calendar.YEAR);

        return anoHj - anoNascimento;

    }

Este é o código que eu debuguei.

@Override
    public boolean validarAtleta(MessageContext context, Inscricao inscricao, Atleta atleta) {

        try 

            if (atleta.isGoleiro()) {

                if (atleta.getCadastro().getIdade() < atleta.getInscricao().getCampeonato().getCategoria().getIdadeMinimaGoleiro()) {

                    msgWeb(context, "Idade minima invalida.");
                    return false;

                }

                if (atleta.getCadastro().getIdade() > atleta.getInscricao().getCampeonato().getCategoria().getIdadeMaximaGoleiro()) {

                    msgWeb(context, "Idade maxima invalida.");
                    return false;

                }

            } else {

                if (atleta.getCadastro().getIdade() < atleta.getInscricao().getCampeonato().getCategoria().getIdadeMinimaLinha()) {

                    msgWeb(context, "Idade minima invalida.");
                    return false;
                }

                if (atleta.getCadastro().getIdade() > atleta.getInscricao().getCampeonato().getCategoria().getIdadeMaximaLinha()) {

                    msgWeb(context, "Idade maxima invalida.");
                    return false;
                }

            }

            return true;

        } catch (Exception e) {

            msgWeb(context, msgErro(e));
            return false;

        }

    }
  • PQ você no tira aquela regra de negócio do método get?

    Johnatan Dantas   03 de mar de 2014
  • Você diz o getIdade?

    Lucas Francisquini   03 de mar de 2014
  • Quais são os atributos da classe Funcoes?

    Leonardo Mendonça   03 de mar de 2014
  • O que Funcoes faz? Posta a classe Funcoes aí. Isso se ela for uma classe mesmo.

    Leonardo Mendonça   03 de mar de 2014
  • Se você sabe que a idade está vindo vazia, você deve debbugar o seu método getIdade. De qualquer forma seu cálculo de idade não considera mês e dia, somente ano! Fica a dica...

    luisgarcia173   07 de mar de 2014
Mostrar todos os 6 comentários>
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java java-ee hibernate ou faça a sua própria pergunta.