Сканер noSuchElementException. В чем причина этого? Как я могу это исправить? - PullRequest
0 голосов
/ 09 апреля 2019
            Scanner newName = new Scanner(System.in);  //creating scanner object
            System.out.println("Δωστε ονομα : ");
            String getOnoma = newName.nextLine(); /*throws no such element exception at String getOnoma=newName.nextLine*/
            newName.close();

Я не знаю, как исправить исключение, я думаю, что это первый раз, когда я использую сканер в Java

1 Ответ

0 голосов
/ 09 апреля 2019

Вы вызываете nextLine (), и она выдает исключение, когда нет строки, именно так, как описывает javadoc . Он никогда не вернет ноль

Используйте чек

if(newName.hasNextLine()) {
  String getOnoma = newName.nextLine();
}

По какой-либо причине класс Scanner также выдает это же исключение, если встречает специальные символы, которые он не может прочитать. Помимо использования метода hasNextLine () перед каждым вызовом nextLine (), убедитесь, что в конструктор Scanner передана правильная кодировка, например ::

Scanner scanner = new Scanner(new FileInputStream(filePath), "UTF-8");
...