Есть ли альтернативы использованию system.in в консольном приложении Java, созданном с помощью Gradle? - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть базовое консольное приложение, в котором я просто пытаюсь использовать простой Scanner в цикле while для захвата пользовательского ввода.Я попытался поместить standardInput = System.in в build.gradle, но моя программа не блокируется, когда она должна ждать ввода.правильно заблокировать и фактически ждать ввода?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Вы должны использовать <Enter>, который пользователь вводит, чтобы сделать свой выбор, иначе он (мгновенно) будет потреблен вашим String textToWrite = scanner.nextLine();:

[...]

int userSelection = scanner.nextInt();
scanner.nextLine();   // <-- consume the <enter>

switch (userSelection) {

[...]
0 голосов
/ 20 сентября 2018

получается в каждом случае, что вы хотите получить ввод, если вы просто переназначите новый Scanner () на переменную сканера, он будет корректно заблокирован..

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