Casting de String para Int

12 respostas
IcePeak

Olá amigos!

Eu tenho um arquivo .jsp que envia informações para um Servlet, com o seguinte código:

<HTML>

<HEAD>
	<TITLE>Mateus 1</TITLE>
</HEAD>

<BODY>


	<FORM METHOD=GET ACTION="/Projeto1/servlet/principal.OlaMundo">
	
		<h3>Me fale o divisor:</h3>
		<INPUT TYPE=TEXT NAME="divisor"><P>
		<h3>Me fale o limite</h3>
		<INPUT TYPE=TEXT NAME="limite"><P>
		<h3>Me fale o inicio</h3>
		<INPUT TYPE=TEXT NAME="inicio"><P>
		<INPUT TYPE=SUBMIT VALUE="Enviar">
		
	
	</FORM>

</BODY>	

</HTML>

E daí eu tenho que pegar essas informações no servlet, só que eu preciso comparar esses números, com um while (while(inicio < limite)), só que eu não consigo transformar as Strings em int primitivo.

eu já tentei:
Integer limite = new Integer(parseInt(sLimite));

int limite = parseInt(sLimite);

Valeu amigos!!

12 Respostas

Y

O correto é:

Integer limite = Integer.parseInt(sLimite);

Olho na API! :wink:

T
int limite = Integer.parseInt (sLimite);

E uma dica para você entrar no mundo Java: Java != .NET ou C++ ou C#. Normalmente não use a notação húngara (onde strings começam por s, str, ou pior, lpsz, inteiros por i, int ou c, etc.).
Acho que essa notação só é relevante quando você usa em componentes de interface gráfica (cbo = JComboBox etc.).

F
use
Integer.parseInt(string) ou 

Integer v = Integer.parseInt("1");
int i = v.intValue();
vanzella
String nome ="Fabaum";
Integer.valueOf(nome).intValue();

hauahu comedia né!

IcePeak

Obrigado àqueles que ajudaram.

Se você não tem vontade de ajudar, não te obriguei a isso. Não se esqueça que você também já esteve aprendendo.

Abraços!

vanzella

IcePeak:
Obrigado àqueles que ajudaram.

Se você não tem vontade de ajudar, não te obriguei a isso. Não se esqueça que você também já esteve aprendendo.

Abraços!

IcePeak, acho que todo mundo tem boa vontade de ajudar, mas tem muita gente como vc que tem preguiça de pesquisar, conversão é coisa basica que vc encontra de kilo na net, não precisa poluir mais o Guj com esse tipo de pergunta.

Faça uma forcinha, pesquise mais.

Abraço…

IcePeak

Estou lendo a apostilada Caelum de FJ11 e tive a idéia de fazer. Procurei na Api do java sobre a classe Integer, vi que tinha o método parseInt().

Apenas não sabia como usa-lo e quiz uma luz.

vanzella

blz IcePeak, procure pelos Javadocs quando for assim: tem até alguns que ja estão traduzidos: segue os links:

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Integer.html

Rodrigo_Vieira_Pinto

Senhores

Vamos deixar os egos de lado.

Afinal:

[list]Todos estamos sempre aprendendo[/list]
[list]Todo mundo um dia sempre teve uma pergunta aparentemente fácil de resolver, mas que não sabia o quanto fácil era[/list]
[list]Todos nós estamos sujeitos a ficar convencidos só porque aprendeu algum framework da moda ou porque conseguiu escrever num arquivo ou usar socket[/list]
[list]Ironia é bom de vez em quando, o CV que o diga…hehehe[/list]
[list]De novo: todos nós estamos sempre aprendendo[/list]

IcePeak

Valeu pelos links…

Eu tinha ido aonde você falou no segundo link, mas não achei a construção com o “.” .

Mas valeu ai pelos links.

T

Uma coisa que confunde um pouco o iniciante em Java é que as conversões são uma bagunça, comparadas com C#.

Em C# existe só uma classe - Convert, e com uma pancada de métodos:

string s = Convert.ToString (i);
int i = Convert.ToInteger (s);

Em Java, você tem

int i = Integer.parseInt (s);
String s = Integer.toString (i);
boolean b = Boolean.valueOf (s);

e outras coisas mais aberrantes, com os nomes mais estapafúrdios possíveis. Você tem até o cast:

long l = 10;
int i = (int) l;

É por isso que dá um verdadeiro nó na cabeça. Parece que você tem de decorar os nomes dos patriarcas, a partir de Noé, Abraão ou sabe-se lá quem…

B

Estou com o mesmo problema.

Segue o código:

<%String id = request.getParameter(id); %>

<%String nome = request.getParameter(nome); %>

<%String sobrenome = request.getParameter(sobrenome);%>

<%String login = request.getParameter(login); %>

<%String senha = request.getParameter(senha); %>

Agora preciso converter a variavel id para Int.

Quando eu coloco:

<%int idInt = Integer.parseInt(id);%> ou
<%Integer idInt = Integer.parseInt(id);%>

No eclipse não dá erro mais quando roda no tomcat dá erro:

HTTP Status 500 -


type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /update.jsp at line 90

87: 			<%String sobrenome = request.getParameter(sobrenome);%>

88: 			<%String login = request.getParameter(login); %>

89: 			<%String senha = request.getParameter(senha); %>

90: 			<%Integer idInt = Integer.parseInt(id); %>

91: 			

92: 			

93:
Stacktrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:551)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause

java.lang.NumberFormatException: null

java.lang.Integer.parseInt(Integer.java:417)

java.lang.Integer.parseInt(Integer.java:499)

org.apache.jsp.update_jsp._jspService(update_jsp.java:177)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.10 logs.


Apache Tomcat/7.0.10

Criado 10 de julho de 2007
Ultima resposta 9 de abr. de 2011
Respostas 12
Participantes 7