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

标签 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;
} 

最佳答案

使用nextLine()方法而不是 next()

这样做

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

关于java - 使用 java.util.Scanner() 读取多个单词字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20190523/

相关文章:

java - Math.cos() 给出错误的结果

html - 输入文本框和按钮里面没有响应

c++ - cin 中的冗余输入

java - 如何在Java中使用用户输入获取一系列数据

C 控制台输出在等待输入时隐藏

java - 带有返回数组的参数的类方法

java - @OneToOne 或 @ManyToOne 引用未知实体

java - 使用 WebFilter 从 XML 获取请求参数

javascript - Angular JS 从一个 div 收集所有输入值

Java 控制台应用程序清理