Есть ли способ в Java читать ввод с консоли по одному слову за раз? Как и в случае, когда пользователь нажимает пробел, я хочу взять любое слово, которое он напечатал перед ним, и добавить его, например, в коллекцию.
Я пробовал использовать сканер, но он позволяет мне читать только слова после конца строки (нажмите клавишу ввода).
Контекст: это школьный проект, и учитель хочет, чтобы мы создали программу, которая считывает вводимые пользователем данные в одном потоке и отображает список слов и их количество из ввода в другом потоке. И он хочет, чтобы список обновлялся после набора каждое новое слово ...
У меня нет опыта работы с консолью, но я бы использовал «args» в основной функции, чтобы получить доступ к массиву аргументов, просмотреть его и добавить каждый аргумент в свою коллекцию.
Вы не можете сделать это через консоль, если не переведете консоль в символьный режим, см .: https://stackoverflow.com/a/1066647/6391367
Однако я очень сомневаюсь, что ваш учитель ожидает от вас этого.
Я вижу два варианта:
Да, это вполне вероятно. Описание задания очень расплывчатое. Спасибо за разъяснение.
Вы должны уметь прочитать одно слово с консоли с помощью сканера. Например:
Scanner input = new Scanner(System.in);
String word;
System.out.println("Enter word(s)");
while(input.hasNext()){
word = input.next();
System.out.println(word);
}
Вы просто пытаетесь принять несколько аргументов командной строки, например «java Foo a b c»?