我刚开始学习编程,并尝试编写一个函数,以便在句子中返回true如果存在某个单词。我使用了indexOf()
方法,但是我也遇到了一个问题:
假设我的句子是I am a, Java Programmer.
如果我们使用indexOf()
方法查找单词ram
,它将返回true
,因为ram
出现在Programmer
中,而正确的输出应该是false
,因为ram
不是作为单词而是作为一个字符串出现。
我该如何解决这个问题? 我目前正在使用的代码是:
boolean isPresent(String word, String sentence)
{
if(sentence.indexOf(word) >= 0)
return true;
else
return false;
}
注意:单词ram
仅是我当前方法中存在问题的例子之一。并不是我一直要处理ram
。这个单词可以是任何一个,比如上面句子中跟随逗号的a
等。
更新:感谢大家提供评论和解决方案。我已经选择了一个接受的答案(如果允许的话,我会选择更多 :-)),但很多回答都很有用。
return sentence.indexOf(word) >= 0;
-sentence.indexOf(word) >= 0
要么是true
,要么是false
,因此根据情况,这要么表示return true;
,要么表示return false;
。 - Panzercrisis