Java - 多次使用扫描仪

时间:2014-03-12 02:21:29

标签: java java.util.scanner

我目前正在尝试从控制台中的用户接收输入,执行一些操作,然后从控制台接收更多输入。

Scanner userInput = new Scanner(System.in);
while(true){
    System.out.print("Enter input: ");
    String foo = userInput.nextLine();
    //do stuff with foo
}

每当我这样做时,循环的第一次运行完美地运行,但是每次后续运行都会将foo输出为无效,并且它不会让我添加更多输入。

//above code
System.out.println(foo);
//nothing prints

我应该如何制作它以便每次都提示输入,并确保它不会只使用空白字符串?

2 个答案:

答案 0 :(得分:3)

你的意思是

    Scanner userInput = new Scanner(System.in);
    while(true){
        System.out.print("Enter input: ");
        String foo = userInput.nextLine();

        if (foo.length () == 0) {
            break;
        }

        //do stuff with foo
        System.out.format("[%s]\n",foo);
    }

答案 1 :(得分:-1)

Scanner类中没有readLine方法 你可以像那样使用它

Scanner userInput = new Scanner(System.in);
while (true) {
            System.out.print("Enter input: ");
            String foo = userInput.nextLine();
            System.out.println(foo);
}