Класс сканера не ждет ввода данных от клиента и выдает исключениеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Класс сканера не ждет ввода данных от клиента и выдает исключение

Сообщение Anonymous »

У меня возникают проблемы с этим фрагментом кода при использовании класса Scanner. При вводе варианта 1 или 2 все проходит гладко, программа выполняет их и показывает исходное меню для ввода с клавиатуры нового параметра. Проблема связана с вариантом 3, поскольку он выполняется идеально, но при отображении начального меню с параметрами Сканер не ждет ввода с клавиатуры от пользователя и выдает следующее исключение:
(Exception in thread "main" java.util.NoSuchElementException
at java.base/java.util.Scanner.throwFor(Scanner.java:962)
at java.base/java.util.Scanner.next(Scanner.java:1503)
at practicas.Main.main(Main.java:50)

Я читал, что закрытие любого объекта Scanner(System.in) приведет к закрытию всех созданных объектов Scanner, но также и то, что если я создам несколько объектов Scanner и закрою один из них , не повлияет на другие объекты. Может ли кто-нибудь помочь понять работу сканера для чтения входных данных?
Заранее спасибо.
public static void main(String[] args)
{
// TODO Auto-generated method stub
int opcion=-1;
Scanner scan=new Scanner(System.in);
while (opcion!=0)
{
System.out.println("Introduce la opción deseada:");
System.out.println("0: Salir");
System.out.println("1: Calcular promedio de enteros");
System.out.println("2: Idioma de animales");
System.out.println("3: escribir y leer de un fichero");
try
{

opcion=scan.nextInt();

switch (opcion)
{
case 0:
break;
case 1:
{
calcularPromedio();
break;
}

case 2:
{
hablaDeAnimales();
break;
}
case 3:
{
leerYEscribir();
break;
}
}
}
catch(Exception e)
{
System.out.println("La opción introducida no es un número entero "+e);
}
}
scan.close();
System.out.println("Gracias!");

}
private static void calcularPromedio()
{
int [] enteros= {10,20,30,40,50};
int suma=0;
double promedio=0;
for (int index=0;index

Подробнее здесь: https://stackoverflow.com/questions/793 ... -exception
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»