Чтение по одному слову с консоли в java

Есть ли способ в Java читать ввод с консоли по одному слову за раз? Как и в случае, когда пользователь нажимает пробел, я хочу взять любое слово, которое он напечатал перед ним, и добавить его, например, в коллекцию.

Я пробовал использовать сканер, но он позволяет мне читать только слова после конца строки (нажмите клавишу ввода).

Контекст: это школьный проект, и учитель хочет, чтобы мы создали программу, которая считывает вводимые пользователем данные в одном потоке и отображает список слов и их количество из ввода в другом потоке. И он хочет, чтобы список обновлялся после набора каждое новое слово ...

Вы просто пытаетесь принять несколько аргументов командной строки, например «java Foo a b c»?

JBallin 04.05.2018 07:47

У меня нет опыта работы с консолью, но я бы использовал «args» в основной функции, чтобы получить доступ к массиву аргументов, просмотреть его и добавить каждый аргумент в свою коллекцию.

JBallin 04.05.2018 07:55
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
596
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы не можете сделать это через консоль, если не переведете консоль в символьный режим, см .: https://stackoverflow.com/a/1066647/6391367

Однако я очень сомневаюсь, что ваш учитель ожидает от вас этого.

Я вижу два варианта:

  1. Ваш учитель ожидает, что вы будете нажимать ввод после каждого слова (внимательно проверьте свои спецификации или просто спросите их)
  2. Ваш учитель ожидает, что вы создадите графический интерфейс с использованием Swing / JavaFX, в который пользователь вводит текст. Затем, используя ключевой слушатель, вы можете читать этот вводимый символ за символом.

Да, это вполне вероятно. Описание задания очень расплывчатое. Спасибо за разъяснение.

user3578760 01.05.2018 15:43

Вы должны уметь прочитать одно слово с консоли с помощью сканера. Например:

Scanner input = new  Scanner(System.in);
   String word;

    System.out.println("Enter word(s)");

    while(input.hasNext()){
    word = input.next();
    System.out.println(word);
    }

Другие вопросы по теме