首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在数组中逐字母匹配2个字符串,以找到类似的匹配单词[暂停]

在数组中逐字母匹配2个字符串,以找到类似的匹配单词[暂停]
EN

Stack Overflow用户
提问于 2019-04-15 02:58:33
回答 2查看 0关注 0票数 0

我正在做一个家庭作业问题。我们要创建一个字典,我们应该创建的方法之一称为匹配。我们的教育工作者没有告诉我们如何做到这一点,我没有在我们的教科书中找到它。以下是标准:

创建一个匹配方法:给定两个字符串,如果两个字符串相互比较,它将返回true。紧密度是根据为此分配目的匹配的字符数来衡量的,如果两个字符串以精确的方式具有三个匹配的字符,则会要求您返回true。

我试图进行顺序搜索,但知道这不是正确的方法。我很难用这个,知道我不应该这样做。

代码语言:javascript
复制
public int findWord(String [] words,String searchWord, String wordLength) {
    String  word;
    boolean found = false;
    word = null;

    while(word != wordLength && !found)
        if(words[]==searchWord)
            found = true;
        else
            word++;

    return searchWord;

}

我知道这是错的。

EN

回答 2

Stack Overflow用户

发布于 2019-04-15 11:10:43

我猜你的意思是给一个字典(在这种情况下是单词[])是否有一个特殊的单词(searchWord)。此外,wordLength应该是一个整数,以使其合理。如果字典中有单词,则此函数返回true。如上所述,匹配标准是一个单词和searchWord至少有三个共同字符。

代码语言:javascript
复制
public static boolean findWord(String [] words,String searchWord, int wordLength) {
    boolean found = false;
    for(int i=0; i != words.length;i++){
        if(words[i].length() == wordLength){  // If wordlengths are different eliminate this word
            int matchCount = 0;
            for(int j=0;j<searchWord.length();j++){
                for(int k=0;k<wordLength;k++) {   // For all possibilities we need two for loops for match check
                    if (words[i].charAt(k) == searchWord.charAt(j))
                        matchCount++;
                }
            }
            if(matchCount>=3){
                found = true;  // If this does not run, found will stay as false
            }
        }
    }
    return found;
}
票数 0
EN

Stack Overflow用户

发布于 2019-04-15 12:15:09

处理此任务可能最容易,您认为字符串是一个字符数组(如C)。如果是这种情况,您所要做的就是遍历一个数组,并检查该索引处每个字符串的值。这是一个例子,如果我们改为循环数组:

代码语言:javascript
复制
public boolean isClose(int[] a, int[] b) {
  int closeness =0;
  for(int i=0; i< a.length; i++) 
     If (a[i] == b[i] ) {
      closeness++;
    }
  }
  return closeness >= 3;
}

但是,您需要修复此代码中的一些问题。这里有几个让你入门:

  1. 显然,这是针对int [],而不是字符串,你需要修复它吗?
  2. 当b.length <a.length时,这里有错误
  3. 这对2个字母的单词不起作用(因为它们没有足够的字母)

之后,您可以考虑优化一下这个功能

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100006586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档