使用SCANNER读取用户输入的行

时间:2013-11-01 20:08:31

标签: java java.util.scanner

我有一个需要读取输入行的程序。它需要一次多行。例如:


当我进入我的时间机器或 也许不吧, 我想知道自由意志是否存在? 我想知道是否存在自由意志 也许不吧 当我进入我的时间机器或。


用户一次输入所有内容。我试图使用Scanner类中的.hasNextLine()方法,但它没有返回false ....它再次等待输入。我一直在寻找解决方案,似乎.hasNextLine()等待输入,但我不知道使用什么替代方案。有什么建议?实际代码如下:

while(input.hasNextLine());
        {
            line += input.nextLine();
        }

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

也许您应该使用某种“停止”序列,这意味着当用户输入特定字符序列时,它将突破循环。它可能看起来像:

public static void main(String args[]){
    final String stopSequence = "/stop";
    final Scanner reader = new Scanner(System.in);
    String input = reader.nextLine();
    while(!input.equalsIgnoreCase(stopSequence)){
        //process input
        input = reader.nextLine();
    }
}