verificaÇÂo

6 respostas
surfzera

Pessoal tenho um metodo que efetua uma verificação e o meu problema é que quando o mesmo entrar em um lanço for ele sempre cai no primeiro if ( aplicação igual a 0.0 ), desconsiderando o segundo if (diferente de 0.0 ). Alguem sabe porque ??

//Verifica se foi selecionado o item Carteira Composta

if (carteiraCompostaGrafico.isSelected()) {

ArrayList fundos = simulacao.getUmaCarteira().getFundos();

for (int i = 0; i < fundos.size(); i++) {

//Verifica se algum fundo da lista tem aplicação igual a 0.0

if (fundos.get(i).getAplicDesejada() == 0.0) {

this.addMessage(fundo, WARN_CARTEIRA_COMPOSTA_SEM_APLICACAO, FacesMessage.SEVERITY_WARN, “”);

}else{

//Verifica se algum fundo da lista tem aplicação diferente de 0.0

if(fundos.get(i).getAplicDesejada() != 0.0) {

this.addMessage(fundo, WARN_CARTEIRA_VERIFICA_COM_APLICACAO, FacesMessage.SEVERITY_WARN, “”);

geraGraficoComposta(carteira);

}

}

}

}

6 Respostas

B

Qual o tipo de dado de getAplicDesejada()?

surfzera

tipo double.

V

Voce esta sendo redundande no if, se ele nao for igual a 0.00 entao ele é diferente, nao precisa testar novamente.

if (fundos.get(i).getAplicDesejada() == 0.0) {
   this.addMessage("fundo", WARN_CARTEIRA_COMPOSTA_SEM_APLICACAO, FacesMessage.SEVERITY_WARN, "");
}else{
   this.addMessage("fundo", WARN_CARTEIRA_VERIFICA_COM_APLICACAO, FacesMessage.SEVERITY_WARN, "");
   geraGraficoComposta(carteira);
}
surfzera

Sim concordo… mais o problema é que a mensagem no segundo if nã é apresentada. A função geraGraficoComposta(carteira) é chamado normalmente, apenas a mensagem do segundo if que nao é chamada.

V

Entao o problema nao esta no for ou no if, e sim no metodo addMessage ou no codigo que faz a exibicao da mensagem.

surfzera

valeu pela ajuda … descobrir o problema, o valor nao estava sendo jogado para o bean corretamente.

Criado 3 de julho de 2009
Ultima resposta 3 de jul. de 2009
Respostas 6
Participantes 3