2013-06-28 34 views
-2

当我在控制台中键入一个短语时,绿色文本下方只显示一个单词,而其他单词不显示。不知道我在这里做错了什么。任何帮助,将不胜感激。只显示println中的一个单词,其他单词不显示

Scanner keyboard = new Scanner(System.in); 

System.out.println("Enter a sentence or phrase. It can be anything you want it to be: "); 

//ask user for sentence or phrase 
String p1 = keyboard.next(); 

System.out.println(c1); //display user sentence or phrase 
+0

Scanner.next()停在空白处。 Scanner.nextLine()读直到'\ n' – wazy

回答

11

next()读取单个字 ,使用nextLine()读取整个行。


具体而言,next()“查找并返回来自该扫描仪下一个完整标记。一个完整的令牌之前和之后输入的是,分隔符模式匹配”。默认分隔符是\s+,一个连续的空白字符串。您可以通过useDelimiter更改此分隔符。

+0

也打我吧。 –

0

你的代码改成这样:

Scanner keyboard = new Scanner(System.in); 

System.out.println("Enter a sentence or phrase. It can be anything you want it to be: "); 

//ask user for sentence or phrase 
String p1 = keyboard.nextLine(); 

System.out.println(c1); //display user sentence or phrase 

问题是

keyboard.next(); 

只得到一个字。您需要使用:

keyboard.nextLine();