Почему мой код java выдает ошибку, когда я получаю информацию от пользователя? - PullRequest
1 голос
/ 07 января 2020

Я пытаюсь просто получить ввод от пользователя в методе, который возвращает Object. По какой-то причине выдается эта ошибка:

Исключение в потоке "main" java .lang.reflect.InvocationTargetException at java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 ( Собственный метод) в java .base / jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в java .base / jdk.internal.reflect.DelegatingMethodAccessorImpor : 43) в java .base / java .lang.reflect.Method.invoke (Метод. java: 564) в org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main (JarRsrcLoader. java : 61) Вызвано: java .util.NoSuchElementException: строка не найдена в java .base / java .util.Scanner.nextLine (Scanner. java: 1651) в свече.Main.getValue (Main . java: 381) на свече. Основной файл запуска (основной. java: 979) на свече. Основной (главный. java: 1013) ... еще 5

Вот фрагмент кода:

System.out.print("> ");
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
scanner.close();

Может кто-нибудь объяснить, как получить эту работу, или указать на то, что я сделал неправильно? Благодаря.

1 Ответ

2 голосов
/ 07 января 2020

Этот вопрос задавался ранее.

  1. Базовый c ответ:

    • Сканер выдаст java.util.NoSuchElementException: No line found, если нет строки, доступной для чтения.

    • Решение:

      Scanner scanner = new Scanner(System.in);
      String input = null;
      if (scanner.hasNextLine()
          scanner.nextLine();
      
  2. Может возникнуть проблема :

    • Если вы преждевременно закроете сканер (например, input.close() в другом методе)

    • Если ваш ввод содержит специальные символы, вам следует явно указать желаемая кодировка. ПРИМЕР: Scanner scanner = new Scanner(new FileInputStream(filePath), "UTF-8");

Все эти вопросы обсуждаются здесь:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...