当前位置: 首页 > 知识库问答 >
问题:

为什么indexOf()不能识别空格?

国斌斌
2023-03-14

对于这个程序,它要求用户输入他们的全名。然后,它通过在名字和姓氏之间的空格处将它们分开来排序名字和姓氏。但是,indexOf()无法识别空格并且只返回-1。为什么?谢谢。

以下是PracticeIt的提示:

编写一个名为process Name的方法,该方法接受控制台的Scanner作为参数,并提示用户输入他或她的全名,然后以相反的顺序打印名称(即姓氏、名字)。您可以假设只会给出名字和姓氏。您应该使用Scanner一次读取整行输入,然后根据需要将其拆分。以下是与用户的示例对话:

请输入您的全名:Sammy Jankis

你的名字倒序是詹基斯,萨米

import java.util.*;

public class Exercise15 {

public static void main(String[] args) {
    Scanner inputScanner = new Scanner(System.in);
    processName(inputScanner);

}

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

    int space = fullName.indexOf(" "); // always return -1 for spaces
    int length = fullName.length();

    String lastName = fullName.substring(space+1,length+1);
    String firstname = fullName.substring(0, space);

    System.out.print("Your name in reverse order is " + lastName + ", " + firstname);
}
}

共有2个答案

颛孙英才
2023-03-14

当您执行String fullName=inputScanner.next()时,您只读取到下一个空格,因此很明显fullName中没有空格,因为它只是第一个名字。

如果你想阅读整行内容,请使用String fullName=inputScanner。nextLine()

寿元白
2023-03-14

Asnext将返回下一个令牌使用nextLinenot next获取整行

参见http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#next()

 类似资料:
  • 有25种类型的空白。在下面的代码中显示,25种类型中有4种在Java中不被视为空白。为什么? 参考-https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/character.html#IsWhitespace(char)

  • 为什么会这样?并不是说我绝对需要一个测试方法,我只是好奇而已。当您生成测试方法时,Visual Studio 2012不会给出警告或错误,即使它将无法运行。..

  • 这是一段代码 这将向控制台提供以下结果: 这意味着第一个中的链被识别为空链。 另一方面,Reactor具有以下类MonoEmpty,该类由Mono返回。empty()方法。除此之外,该方法还包括以下内容: 没有发出任何项,但我用方法发出了类型化对象。 对此有何解释?

  • 在PhpStorm的最新版本(2018年)中,所以它在项目的2017年版本中,我有一个名为<code>User_model的文件。php</code>,并且PhpStorm不将其识别为php文件,而是将其识别成纯文本文件。 但它并不总是如此;我最近才注意到。 我意识到问题出在文件名中()。因为只要我更改文件名(例如,),该文件就会立即被识别为php文件。 是不是(< code>User_model

  • 我用LWJGL编写了一个简单的程序。问题是每次我尝试运行应用程序时,都会遇到这个错误: 该错误具有误导性,因为我确实调用了< code > glfwMakeContextCurrent(window)和< code > GL . create capabilities()。 我将错误跟踪到似乎当我删除这个和行时,应用程序将运行。 我不理解的是为什么会发生这种情况,因为我在中确实有一个GLFW 3.

  • 问题内容: 我创建了一个整数列表,并试图返回特定值的索引。该数组是3,8,2,5,1,4,7,6并且我想返回indexOf(3),应该为0。 导入java.util。*后,我在Eclipse Java Scrapbook中尝试了以下操作: 我也尝试过: 两者都返回-1。为什么?如何使它按预期工作? 问题答案: 它不是为了使它起作用。