Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查一个单词是否存在于两个或多个单词之间?_Java_Android_Search - Fatal编程技术网

Java 如何检查一个单词是否存在于两个或多个单词之间?

Java 如何检查一个单词是否存在于两个或多个单词之间?,java,android,search,Java,Android,Search,我想在java中检查“abc”和“lmp”之间是否存在像“fga”这样的单词。 在这个例子中,我的单词范围从“fga”“fgb”“fbc”。。。“lmo”“lmp”。我不能使用contain或substring,因为我必须在它们之间找到它们,比如第一个单词是“fga”,第二个单词是“xyz”,现在一个单词“lac”位于它们之间,所以我必须通过编程检查它是否位于它们之间 第一个词是“abc”,第二个词是“fgh”,现在如果我的搜索词是“dee”,则返回true。从第一个单词到第二个单词(“abc”

我想在java中检查“abc”和“lmp”之间是否存在像“fga”这样的单词。 在这个例子中,我的单词范围从“fga”“fgb”“fbc”。。。“lmo”“lmp”。我不能使用contain或substring,因为我必须在它们之间找到它们,比如第一个单词是“fga”,第二个单词是“xyz”,现在一个单词“lac”位于它们之间,所以我必须通过编程检查它是否位于它们之间

第一个词是“abc”,第二个词是“fgh”,现在如果我的搜索词是“dee”,则返回true。从第一个单词到第二个单词(“abc”“abd”“abe”“abz”“aca”“acb”“fgg”“fgh”),如果我的单词存在,那么它将返回true。我没有一个包含所有这些单词的字符串。我只有两个词和一个搜索词 现在我想检查我的搜索词是否存在于这些范围内

我试过使用loop,但这是一个漫长的过程

{
        char firstLetter = firstWord[0];
        char secondLetter = firstWord[1];
        char thirdLetter = firstWord[2];

        char i = 'a', j = 'a', k = 'a';


        do
        {
            for (i = firstLetter; i <= 'z'; i++)
            {
                for (j = secondLetter; j <= 'z'; j++)
                {
                    for (k = thirdLetter; k <= 'z'; k++)
                    {
                        if (k == secondWord[2])
                        {
                            break;
                        }
                        if (!foundOnPage && text.equalsIgnoreCase("" + i + "" + j + "" + k))
                        {
                            foundOnPage = true;
                            pageNo = WordPageNo;
                            break;
                        }
                    }
                    thirdLetter = 'a';
                    if (j == secondWord[1])
                        break;
                    if (foundOnPage)
                        break;
                }
                secondLetter = 'a';

                if (i == secondWord[0] || foundOnPage)
                    break;
            }
            firstLetter = 'a';
            if (foundOnPage)
                break;
        }
        while ((String.valueOf(i) + String.valueOf(j) + String.valueOf(k)).equalsIgnoreCase(secondWord.toString()) || !foundOnPage);

    }
{
char firstLetter=firstWord[0];
char secondLetter=第一个字[1];
char thirdLetter=第一个字[2];
字符i='a',j='a',k='a';
做
{

对于(i=firstLetter;i有很多方法可以做到这一点:

String sourceString = "fga fgb fbc... lmo lmp";
String beginWord = "abc";
String endWord =  "lmp";
String keyWord = "fga";
int ixBegin = sourceString.indexOf(beginWord);
int ixEnd = sourceString.indexOf(endWord);
int ixKey = sourceString.indexOf(keyWord);

if (ixKey > ixBegin && ixKey < ixEnd) {
    // do your magic here
}

但是它没有用。

这是一个简单的Java解决方案:

String input = "fga fgb fgc"; //Your long string
if(input.contains("fga"))
{
 //When true do that
} else
{
  //Else do that
}

到目前为止,你已经尝试了…?给我们看一些你的代码!提示:查找
String.contains()
String.subString()
。这就是你解决谜题所需要的。只需编辑我的答案。我不需要子字符串或索引。我想检查像“cng”这样的单词是否在“abc”和“agf”之间.按character@user3332319为什么要逐个字符进行搜索?您需要更好地解释您的要求。(添加字符串输入和结果的示例)。例如,第一个单词是“abc”,第二个是“fgh”,现在如果我的搜索单词是“dee”,则返回true。从第一个单词到第二个单词(“abc”“abd”“abe”。“abz”“aca”“acb”…“fgg”“fgh”)如果我的单词存在,那么它将返回true。我没有包含所有这些单词的字符串。我只有2个单词和一个搜索词请参阅更新的答案,但这似乎是一项教育任务,您应该自己解决它。
String input = "fga fgb fgc"; //Your long string
if(input.contains("fga"))
{
 //When true do that
} else
{
  //Else do that
}