Мне нужно реализовать интерфейс Терминал , который имеет два метода. Первый метод - это простой вывод, и он отлично работает. Цель второго метода - прочитать ввод от пользователя через консоль и вернуть разделенный (пробелы) массив.
public class GameTerminal implements Terminal {
@Override
//output method
@Override
public String[] readInput() {
Scanner scn = new Scanner(System.in);
String input = scn.nextLine();
return input.trim().split("\\s+");
}
}
Этот код выдает исключение:
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.util.Scanner.nextLine(Scanner.java:1540)
at student.GameTerminal.readInput(GameTerminal.java:20)
...
I попытался решить проблему с использованием scn.next () , scn.hasNext () , scn.hasNextLine () и BufferedReader, но ничего не работает. У меня нет второго сканера , и я не использую scn.close () .
Код работает с gradle в IntelliJ.
Имеет есть решение или идея? Спасибо!