Чтение одного слова за раз из консоли в Java - PullRequest
0 голосов
/ 01 мая 2018

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

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

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

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Вы должны быть в состоянии прочитать одно слово из консоли, используя сканер. Например:

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

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

    while(input.hasNext()){
    word = input.next();
    System.out.println(word);
    }
0 голосов
/ 01 мая 2018

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

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

Два варианта, которые я вижу:

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