Erro!

1 resposta
P

tenho a seguinte instrução:

int dc=0;

for (int contador = 1; contador<=algarismo; contador++){

if ((contador % 2) != 0 ){

dc += this.somaDois(Integer.toString(Integer.valueOf  (numero.substring(contador)).intValue()*2));

}

else{

dc += Integer.valueOf(numero.substring(contador)).intValue();

}

}

valor do algarismo = 12
string numero = “182123925143”

logo na primeira interação acontece o seguinte erro:

java.lang.NumberFormatException: [telefone removido]

at java.lang.Integer.parseInt(Integer.java:462)

at java.lang.Integer.valueOf(Integer.java:553)

at br.com.RegistroMobile.RegistroMobile.geraDC(RegistroMobile.java:86)

at br.com.RegistroMobile.RegistroMobile.gerarContraSenha(RegistroMobile.java:106)

at br.com.RegistroMobile.RegistroMobile.commandAction(RegistroMobile.java:62)

at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(Display.java:1992)

at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(Display.java:2822)

at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(DefaultEventHandler.java:303)

at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(AutomatedEventHandler.java:670)

at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(DefaultEventHandler.java:658)

obrigado pela ajuda

1 Resposta

J

O valor [telefone removido] é muito grande para uma variável int, você precisa usar long, use Long.valueOf() no lugar de Integer.valueOf()

Criado 24 de janeiro de 2007
Ultima resposta 24 de jan. de 2007
Respostas 1
Participantes 2