Conversão de tipos

4 respostas
D

E aí pessoal blz?
Gente é o seguinte eu estou com uma página jsp que calcula o fatorial de um número que vc digita, tipo vc digita um número e ele vai calcular o fatorial de 0 até o número que vc digitar. Eu tenho um formulário

[color=red]
Digite um número:



<% int x = Integer.parseInt(request.getParameter(“num”)); %>[/color]

Pessoal o problema é o seguinte:
Toda vez que eu solicito a página ela dá uma exceção, certo, aí oq eu faço, crio uma variável do tipo [color=red]String[/color] que recebe o valor digitado no campo num, e mando exibir na tela pra saber se está recebendo certinho, e aí pimba mostra certinho, ou seja recebeu, daí eu crio uma variável do tipo [color=red]int[/color] e converto a variável String para int, e mando mostar, e pimba dá certinho novamente, maaaas qdo eu solicito uma outra página jsp e depois solicito a página do fatorial que estava rodando volta a dar o erro novamente e eu tenho que apagar e refazer o mesmo código e aí roda novamente…

Pessoal o que pode estar acontecendo? ? ?
Bom eu espero ter me expressado corretamente, e que vcs tenham me entendido, desde já eu agradeço a todos…

4 Respostas

Marlon_Meneses

E q execao eh gerada?
Eh do tipo NullPointException?

D

Entaum Marlon é tipo isso é:

org.apache.jasper.JasperException: java.lang.NumberFormatException: null

essa é a exceção…

T

Se o cara não digitar nenhum número, request.getParameter (“num”) vai retornar “null”, então você vai obter esse erro medonho. Troque isto:

int x = Integer.parseInt(request.getParameter(“num”));

por isto:

int x = 0;
 if (request.getParameter ("num") == null || 
     request.getParameter ("num").trim().length() == 0) {
   // aqui fica por sua conta; você tem de avisar, sei lá como,
   //  que o fulano não digitou nada. Isso normalmente deve
   // ser feito na página, via Javascript, não no JSP. 
} else {
    x = Integer.parseInt(request.getParameter("num")); 
 }
D

E aí thingol blz kra, deu certinho agora, valeu mesmo hein, a cada dia a gente aprende uma coisa, muito obrigado hein…

Eu tinha tentado dá o valor 0 (values=“0”) para os campos do formulário, na esperança de dar certo mais naum deu… mais agora deu certinho…

Criado 11 de abril de 2007
Ultima resposta 15 de abr. de 2007
Respostas 4
Participantes 3