[英]How can I find all possible combinations of letters of a word in another word?
我正在编写一个拼字游戏,并尝试编写一种方法来获取一个单词并将该单词的所有字符与文件中包含超过 200K+ 单词的单词进行比较,以查看它们是否匹配。 例如,取两个词:ABBAY 和 BAB。 ABBAY 包含 BAB 的所有字母的两种可能组合。 它包含 AB 和 BA。
这是我到目前为止的代码,它获取一个单词并使其成为一个字符数组,按字母顺序对其进行排序,然后将其放回字符串中
然后获取文本文件中的每个单词,并执行上述相同的过程以按字母顺序对其进行排序
使用 if 语句询问这两个词是否相等,如果相等,请将它们添加到我的 ArrayList。 但是,所有这些对我来说都没有正常工作。
public ArrayList<String> getWords() throws FileNotFoundException, IOException {
FileReader reader = new FileReader("CollinsScrabbleWords2019.txt");
BufferedReader data = new BufferedReader(reader);
String[] listOfWords = new String[279496];
ArrayList<String> list = new ArrayList<>();
char[] charArray = getLetters().toCharArray();
char[] wordInText;
Arrays.sort(charArray);
int i=0;
while(data.ready()){
listOfWords[i++] = data.readLine();
}
for (int x = 0; x < listOfWords.length; x++) {
wordInText = listOfWords[x].toCharArray();
Arrays.sort(wordInText);
if (new String(charArray).equalsIgnoreCase(new String(wordInText))) {
list.add(listOfWords[x]);
}
}
return list;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.