如何使用Java中的indexOf在字符串中找到第二个空格字符?

问题描述

免责声明:很抱歉,这是一个愚蠢的问题,但是我现在正在学习AP Computer Science,并且需要有关此家庭作业问题的帮助。我所有的朋友都很忙,我的老师很生我的气,所以我向你们求助。

我的问题如下:

假定该句子是String类型的变量,并且已为其分配值。此外,假定此值是一个字符串,由单词组成,这些单词由单个空格字符分隔,结尾处带有句点。例如:“这是句子的可能值。”

假定存在另一个声明的变量secondWord,其类型也是String。编写所需的语句,以便将句子值的第二个单词分配给secondWord。因此,如果句子的值是“西兰花很美味”。您的代码会将值“ is”分配给secondWord。

我写了以下代码

secondWord = sentence.substring(sentence.indexOf(" ",sentence.indexOf(" "+1)));

我不知道自己在做什么,所以我很乐意为我做任何解释。请记住,我是编码的新手,我不能使用循环之类的东西。谢谢。

解决方法

您可以使用String.split(" ")将句子分为“部分”,这将为您提供一系列单词。

String[] words = sentence.split(" ");
String secondWord = words[1];   //0 based

如果单词ArrayIndexOutOfBoundsException的长度小于2,请注意String

,

如果必须使用indexOf,就像这样:

sentence.substring(sentence.indexOf(" ") + 1,sentence.indexOf(" ",sentence.indexOf(" ") + 1));

但是更好的方法是@ tomgeraghty3