扫描仪看不到空格

新手上路,请多包涵

我正在编写一个程序,要求输入此人的全名,然后获取该输入并将其反转(即 John Doe - Doe, John)。我开始尝试只获取输入,但它只获取名字。

这是我的代码:

 public static void processName(Scanner scanner) {
    System.out.print("Please enter your full name: ");
    String name = scanner.next();
    System.out.print(name);
}

原文由 igeer12 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 338
2 个回答

更改为 String name = scanner.nextLine(); 而不是 String name = scanner.next();

在此处查看有关文档的更多信息 - next()nextLine()

原文由 Prabhakaran Ramaswamy 发布,翻译遵循 CC BY-SA 3.0 许可协议

尝试替换您的代码

String name = scanner.nextLine();

反而

String name = scanner.next();

next() 只能读取输入到 space 。它无法读取由 space 分隔的两个单词。此外, next() 读取输入后将光标置于同一行。

nextLine() 读取包括 space 单词之间的输入(即,它读取到行尾 \n )。读取输入后, nextLine() 将光标定位在下一行。

原文由 Woody 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题