Recabamos en distintos espacios para de este modo tenerte la respuesta a tu inquietud, si tienes alguna inquietud puedes dejar tu pregunta y contestamos sin falta, porque estamos para ayudarte.
Solución:
Estás consumiendo una línea en, que se descarta
while((str=input.readLine())!=null && str.length()!=0)
y leyendo un bigint en
BigInteger n = new BigInteger(input.readLine());
así que intenta obtener el bigint de string que se lee como
BigInteger n = new BigInteger(str);
Constructor used: BigInteger(String val)
también cambio while((str=input.readLine())!=null && str.length()!=0)
a
while((str=input.readLine())!=null)
ver publicación relacionada string a bigint
readLine()
Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
ver documentos java
Con archivos de texto, tal vez el EOF sea -1 cuando se usa BufferReader.read(), carácter por carácter. Hice una prueba con BufferReader.readLine()!=null y funcionó correctamente.
Sección de Reseñas y Valoraciones
Si te apasiona este mundo, tienes el poder dejar un tutorial acerca de qué le añadirías a este post.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)