StringmyString="123";try{intmyInt=Integer.parseInt(myString);}catch(NumberFormatExceptione){// trate a exceção}
M
Marcaobu
creio eu que deva existir uma forma mais fácil de fazer, sem tratramento de execção usando o Parse
alguem pode ajudar???
Hayan
Marcaobu!!!
então use somente a parte de String myString = "123";
int myInt = Integer.parseInt(myString);
mas um bom trabalho sempre deve ser controlado cara!!!
mandou bem AvilaCS
um abraço galera
venomtotal
Marcaobu:
creio eu que deva existir uma forma mais fácil de fazer, sem tratramento de execção usando o Parse
alguem pode ajudar???
Cara, sou novato, mas acredito que vc vai ter que tratar a exceção… Pois, como o programa vai lidar se for passado uma string que não contenha apenas numeros?
tente rodar este exemplo e veja o erro:
publicclassMain{/** * @param args the command line arguments */publicstaticvoidmain(String[]args){Stringstr="25";inti=Integer.valueOf(str).intValue();System.out.println(i);str="25sorvetes";i=Integer.valueOf(str).intValue();System.out.println(i);}}
Hayan
venomtotal essa foi muito boa mesmo, simplezmente ele vai ter java.lang.NumberFormatException, e gastar 1 hora procurando da onde veio esse erro para localizar os sorvetes
um abraço
ViniGodoy
venom, pq vc usa o valueOf e depois o intValue? Não era melhor usar diretamente o parseInt?
Não vejo porque gerar um objeto do tipo Integer primeiro.
venomtotal
ViniGodoy:
venom, pq vc usa o valueOf e depois o intValue? Não era melhor usar diretamente o parseInt?
Não vejo porque gerar um objeto do tipo Integer primeiro.
Realmente concordo. Comparando as duas maneiras, a segunda é desnecessária mesmo. hehehe
M
Marcaobu
galera, eu preciso de apenas de um conversão de dados dentro da minha condição lógica, dentro do if… sem tratamento de exeções, sem nada…
pois eu sei q o usuário vai digitar os dados corretos, por isso é sem tratamento de exceções…
verifiquem o código
public Fila op4()
{
Link tmp = first;
Fila fi = new Fila();
while(tmp!=null)
{
if(tmp.getCodigo()>5000)
fi.inserir(tmp.getCodigo(), tmp.getDescri(), tmp.getPre());
tmp=tmp.getNext();
}
return fi;
}
dentro do if, eu preciso converter o meu getCodigo de String para Int para comparar com o valor 5000
só isso…
obrigado.
M
Marcaobu
galera fiz aki e deu certo a conversão de String para Int
blzinha
agora eu to precisando fazer uma segunda classificação na minha lista
quando rodo o algoritmo ele já puxa os dados de um arquivo .txt calssificando todos os produções pelo Preço
me veio na cabeça de colocar em um relátório q estou desenvolendo para o cliente especificar com sim ou não se quer q o relatório venha classificado em ordem crescente ou não, mas pelo código
mas não estou onseguindo desenvolver a condição, alguem pode me dar uma ajuda???
aqui está o algoritmo
case 4 : {
int opc;
System.out.print("Deseja colocar os códigos em ordem crescente?");
System.out.print("10 - SIM");
System.out.print("20 - NÃO");
Scanner y = new Scanner(System.in);
opc=y.nextInt();
if(opc==10)
{
Fila fila = lista.op4();
System.out.print("\n TODOS OS PRODUTOS COM O CÓDIGO MAIOR QUE 5000 \n");
System.out.println("CÓDIGO \t\t\t DESCRIÇÃO \t\t PREÇO");
while(!fila.empty())
fila.remove().displayLink();
}
else
{
Fila fila = lista.op4();
System.out.print("\n TODOS OS PRODUTOS COM O CÓDIGO MAIOR QUE 5000 \n");
System.out.println("CÓDIGO \t\t\t DESCRIÇÃO \t\t PREÇO");
while(!fila.empty())
fila.remove().displayLink();
}
break;
}
este é o onde gera o relatório.
public Fila op4()
{
Link tmp = first;
Fila fi = new Fila();
while(tmp!=null)
{
String myString = tmp.getCodigo();
int myInt = Integer.parseInt(myString);
if(myInt>5000)
fi.inserir(tmp.getCodigo(), tmp.getDescri(), tmp.getPre());
tmp=tmp.getNext();
}
return fi;
}
Isso é extremamente perigoso de se assumir. Nem sempre o usuário vai digitar os dados corretamente.
Ele não precisa nem estar mal intencionado. Um descuido pode fazer ele digitar uma letra errada, por exemplo, bater a tecla + quando queria digitar 9.
Via de regra, sempre valide os dados.
I
ismael.j.lima
para evitar q o usuario erre pode se usar um JFormattedTextField, e fazer com q ele so aceite numeros inteiros…
AvilaCS
ismael.j.lima, nem sempre a entrada de dados é feita através de uma tela!
Pode, por exemplo, ser feita através de uma importação de arquivo (txt, xml, etc).