用Java打印用户输入?

时间:2013-01-31 11:24:16

标签: java println

说我有Scanner方法,之后我想打印用户输入。

以此代码为例:

    String randomWords;
    Scanner kb = new Scanner(System.in);

    System.out.print("Please enter two words separated: ");

    randomWords = kb.next();    
    System.out.println(randomWords);

如果输入的两个单独的单词是

hello world

只有

hello 
打印

这是为什么?如何打印包含空格的两个单词?

谢谢。

3 个答案:

答案 0 :(得分:5)

改为使用Scanner#nextLine(),

  

此方法返回当前行的其余部分,不包括任何行   最后的分隔符。

randomWords = kb.nextLine();    

Scanner#next()根据分隔符读取下一个完整的令牌。

  

查找并返回此扫描仪的下一个完整令牌。一个   完整标记之前和之后是匹配的输入   分隔符模式

由于扫描仪的默认分隔符为空格,您应使用Scanner#useDelimiter(str)明确定义扫描仪的分隔符。 如果您使用\n下一行作为分隔符,那么您的电流代码将起作用。

 Scanner kb = new Scanner(System.in).useDelimiter("\n");
    System.out.print("Please enter two words separated: "); 
    randomWords = kb.next();    
    System.out.println(randomWords);

答案 1 :(得分:1)

使用Scanner.nextLine()方法读取换行符(非包含)。

randomWords = kb.nextLine();

答案 2 :(得分:1)

public static void main(String[] args) {
        String randomWords;
        Scanner kb = new Scanner(System.in);

        System.out.print("Please enter two words separated: ");

        randomWords = kb.nextLine(); 
        System.out.println(randomWords);
    }