Я работаю над чтением целых чисел в список на Java, и я нашел исключение, которое бросается при установке в цикл цикла Scanner nextInt().Исключение броска при использовании сканера в цикле?
Исключение брошено на классе Scanner в этом коде:
do{
System.out.println("?");
Scanner in = new Scanner(System.in);
input = in.nextInt();
in.close();
if(input != SENTINEL)
numberList.add(input);
}while(input != SENTINEL);
В то время как перемещение инициализации сканера и закройте за пределами цикла работает просто отлично:
Scanner in = new Scanner(System.in);
//receive input integers from user
do{
System.out.println("?");
input = in.nextInt();
if(input != SENTINEL)
numberList.add(input);
}while(input != SENTINEL);
in.close();
Почему, за исключением возникает при инициализации класса Scanner в цикле? Благодаря!
Исключение:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:862)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at main.Run.main(Run.java:25)
Что такое исключение? – Tunaki
не закрывайте сканер до тех пор, пока вы не закончите с ним – Reimeus
Просто добавлено исключение из приведенного выше описания –