Problema con parseInt
public class TestNumeros {
int numero = 0;
StringBuffer st = new StringBuffer("");
char c;
public int lee() throws IOException
{
c = (char)System.in.read();
while (c != 'n')
{
st.append(c);
c = (char)System.in.read();
System.out.print(c);
}
numero = Integer.parseInt(st.toString());
return numero;
}
CONSOLA:
1111
111
Exception in thread "main" java.lang.NumberFormatException: For input string: "1111
"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Practica2.TestNumeros.lee(TestNumeros.java:18)
at Practica2.TestNumeros.main(TestNumeros.java:24)
int numero = 0;
StringBuffer st = new StringBuffer("");
char c;
public int lee() throws IOException
{
c = (char)System.in.read();
while (c != 'n')
{
st.append(c);
c = (char)System.in.read();
System.out.print(c);
}
numero = Integer.parseInt(st.toString());
return numero;
}
CONSOLA:
1111
111
Exception in thread "main" java.lang.NumberFormatException: For input string: "1111
"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Practica2.TestNumeros.lee(TestNumeros.java:18)
at Practica2.TestNumeros.main(TestNumeros.java:24)
Hola!!!
Por lo q se ve tenes un 'n' en la cadena. No se si se banca eso..... Fijate
Por lo q se ve tenes un 'n' en la cadena. No se si se banca eso..... Fijate
Hola:
En windows el retorno de carro son dos caracteres, un r y un n.
En tu codigo buscas el n. Posiblemente el r se esté metiendo como parte del número.
Puedes leer ignorando cualquiera de los dos caracteres r o n o bien puedes leer una linea completa con el método adecuado, que ya excluye bien el rn. Puedes ver cómo se hace esto último en http://chuidiang.blogspot.com/2005/09/entrada-standard-en-java.html
Se bueno
En windows el retorno de carro son dos caracteres, un r y un n.
En tu codigo buscas el n. Posiblemente el r se esté metiendo como parte del número.
Puedes leer ignorando cualquiera de los dos caracteres r o n o bien puedes leer una linea completa con el método adecuado, que ya excluye bien el rn. Puedes ver cómo se hace esto último en http://chuidiang.blogspot.com/2005/09/entrada-standard-en-java.html
Se bueno
