使用java.util.Scanner()读取多个单词字符串

时间:2013-11-25 11:02:32

标签: java input console

我想使用java.util.Scanner()从控制台读取全名,并将该值分配给字符串。

例如

;

在控制台中输入“John Smith”。点击返回和 String s =“John Smith”;

我尝试编写一个readString方法来执行此操作但是它的循环被锁定。有谁知道一个解决方案?。

我的代码的一部分。

System.out.println("Name: ");
String name = readString();

和我破碎的方法。

private String readString()
{
    String s ="";
    while(scanner.hasNext())
    s += scanner.next();   
    return s;
} 

2 个答案:

答案 0 :(得分:3)

使用nextLine()方法代替next()

这样做

private String readString()
{
    Scanner scanner = new Scanner(System.in);
    return scanner.nextLine();
} 

答案 1 :(得分:1)

这可能对您有所帮助

public static void main(String[] args) {
    System.out.println("Name: "+getInput());
}

private static String getInput() {
    Scanner scanner = new Scanner(System.in);
    return scanner.nextLine();
}