我想使用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;
}
答案 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();
}