Error del escáner con nextInt () [duplicado]
Esta pregunta ya tiene una respuesta aquí:
¿Cómo usar java.util.Scanner para leer correctamente las entradas de usuario de System.in y actuar en consecuencia? 1 respuestaEstoy intentando usar Scanner para obtener un int desde el teclado, pero aparece el siguiente error:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at TableReader.mainMenu(TableReader.java:122)
at TableReader.main(TableReader.java:76)
Esto es lo que tengo. Es independiente del resto de mi programa, no entiendo por qué esto no funciona. Se declara en un método que se llama en un bucle while, si eso ayuda.
// scan for selection
Scanner s = new Scanner(System.in);
int choice = s.nextInt(); // error occurs at this line
s.close();
Avancé con el depurador y reduje el error a:
Java Runtime Environment ha detectado un error fatal: SIGSEGV (0xb) en pc = 0xb6bdc8a8, pid = 5587, tid = 1828186944
Versión JRE: 7.0_07-b30 VM Java: OpenJDK Servidor VM (23.2-b09 modo mixto linux-x86) Cuadro problemático: V [libjvm.so + 0x4258a8] java_lang_String :: utf8_length (oopDesc *) + 0x58
Error al escribir volcado de núcleo. Los volcados de núcleos han sido desactivados. Para habilitar el volcado de memoria, intente "ulimit -c unlimited" antes de volver a iniciar Java