Help! Essa conversão não funciona!

10 respostas
T

Bom, estou fazendo um programa e eu preciso converter uma String em int. A String vem de um textfield e eu preciso enviá-la como um inteiro pros métodos setTaxa. Só que não funciona, eu ponho números no textfield e ele cai na exception… Não consigo entender o porquê. Alguém tem alguma idéia?
Obrigado.

(Abaixo o código)

private void buttonTabelaPrecosOkActionPerformed(java.awt.event.ActionEvent evt) {

try{

String s = this.textFieldTabelaPrecosTaxa1.getText();

int i = Integer.parseInt(s);

carro.setTaxa(i);

s = this.textFieldTabelaPrecosTaxa2.getText();

i = Integer.parseInt(s);

carro.setTaxaAdd(i);

} catch (Exception e) {

JOptionPane.showMessageDialog(this, Formato Inválido., Erro, JOptionPane.ERROR_MESSAGE);
}
	this.textFieldTabelaPrecosTaxa1.setText(null);
	this.textFieldTabelaPrecosTaxa2.setText(null);
	this.panelTabelaPrecos.setVisible(false);
}

10 Respostas

B

Ola,

Po, tenta dar um System.out.println(" !"+i+"! "), pra ver se nao rola um espaco… sei la… debug… ele.

F

“BrunoCarlo”:
Ola,

Po, tenta dar um System.out.println(" !"+i+"! "), pra ver se nao rola um espaco… sei la… debug… ele.

ou melhor…

nt i = Integer.parseInt(s).trim();

ai ja retira possiveis espacos…

F

“BrunoCarlo”:
Ola,

Po, tenta dar um System.out.println(" !"+i+"! "), pra ver se nao rola um espaco… sei la… debug… ele.

ou melhor…

nt i = Integer.parseInt(s.trim());

ai ja retira possiveis espacos…

T

Putz, também não era esse o problema…
Botei o println e ele impriu certo !3! e também adicionei o .trim() e mesmo assim ele cai no catch…
Valeu a ajuda, mas alguém tem outra idéia?

B

Ola,

que tal cololcar pra ele printar a stack da exception… e posta pra gente…

T

Desculpa, não sei se entendi bem o que tu pediu.
A Exception que ele captura é a Exception do parseInt, NullPointerException
Se não era isso me diz como eu faço pra dar print da Stack pq eu não sei o que é isso xP

B

Bom, NullPointer no parseInt só se o parametro estiver nulo… como vc jpa disse ele não esta…

para printar a stack é só vc incluir no seu catch:

e.printStackTrace(); ele vai te trazer a linah onde está dando o NullPointer…

T

Bem, digamos que imprimiu muita coisa xP
Como eu só estou estudando Java a pouco tempo eu não entendo muito o que isso quer dizer…
Espero que ajude xD

at estacionamento.ui.estacionamentoUi.buttonTabelaPrecosOkActionPerformed(estacionamentoUi.java:627)

at estacionamento.ui.estacionamentoUi.access$700(estacionamentoUi.java:20)

at estacionamento.ui.estacionamentoUi$8.actionPerformed(estacionamentoUi.java:283)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)

at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)

at java.awt.Component.processMouseEvent(Component.java:5134)

at java.awt.Component.processEvent(Component.java:4931)

at java.awt.Container.processEvent(Container.java:1566)

at java.awt.Component.dispatchEventImpl(Component.java:3639)

at java.awt.Container.dispatchEventImpl(Container.java:1623)

at java.awt.Component.dispatchEvent(Component.java:3480)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)

at java.awt.Container.dispatchEventImpl(Container.java:1609)

at java.awt.Window.dispatchEventImpl(Window.java:1590)

at java.awt.Component.dispatchEvent(Component.java:3480)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
B

Ola,

BOm, agora ficou simples… vc olha a primeira linha do stackTrace:

at estacionamento.ui.estacionamentoUi.buttonTabelaPrecosOkActionPerformed(estacionamentoUi.java:627),

Lá, dentro dos parenteses, tem a classe e o numero da linha que deu o xabú… identifique a linha, e verifique se TODOS os objetos que vc invoca metodos estão devidamente instanciados…

O problema não é na conversão…

T

Bah!
Pior, o que está errado deve ser meu carro.
Estranho, bom, agora eu tenho que ir trabalhar, mais tarde eu vou tentar arrumar isso.
Muito Obrigado amigo,
salvou minha pele xP

Criado 10 de julho de 2007
Ultima resposta 11 de jul. de 2007
Respostas 10
Participantes 3