从java中的控制台一次读一个单词

时间:2018-05-01 12:41:06

标签: java multithreading input

Java中是否有一种方法可以一次从控制台读取输入?就像当用户按下一个空格时,我想要在它之前输入他输入的任何单词并将其添加到一个集合中。

我尝试过使用扫描仪,但它只允许我在一行结束后读取单词(按键输入)。

上下文:它是一个学校项目,教师希望我们创建一个程序,在一个线程中读取用户输入,并在另一个线程的输入中显示单词列表及其计数。并且他希望在输入每个新单词后更新列表...

2 个答案:

答案 0 :(得分:1)

除非您将控制台置于字符模式,否则无法通过控制台执行此操作,请参阅:https://stackoverflow.com/a/1066647/6391367

但是我非常怀疑你的老师希望你这样做。

我看到的两个选项是:

  1. 您的老师希望您在每个单词后按Enter键(仔细检查您的规格,或只是询问它们)
  2. 您的老师希望您使用Swing / JavaFX创建一个用户输入文本的GUI。然后,您可以使用键侦听器按字符读取此输入字符。

答案 1 :(得分:0)

您应该能够使用扫描仪从控制台读取单个单词。例如:

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

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

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