Java 相差一个字母的单词

Java 相差一个字母的单词,java,Java,我试图从一个文件中读取单词(我已经这样做了),然后将那些“相差一个字母”的单词写入一个新的输出文件(PrintWriter类)。我不知道如何比较相差一个字母的单词。我对ArrayList不太熟悉。提前谢谢你的帮助。 这是我的密码: ArrayList<String> words2=new ArrayList<>(); // I created words2 so i could compare it to words for (int i = 0; i < word

我试图从一个文件中读取单词(我已经这样做了),然后将那些“相差一个字母”的单词写入一个新的输出文件(PrintWriter类)。我不知道如何比较相差一个字母的单词。我对ArrayList不太熟悉。提前谢谢你的帮助。 这是我的密码:

ArrayList<String> words2=new ArrayList<>();
// I created words2 so i could compare it to words
for (int i = 0; i < words.size(); i++) {  
 // words includes the words read from file 
        System.out.print(words.get(i)+" ");
          for(int j=0; j<words.size();j++){
             words2=words;
ArrayList words2=new ArrayList();
//我创建了单词2,以便将其与单词进行比较
对于(inti=0;i对于(int j=0;j首先,您需要定义单词在一个字符中不同的所有情况。例如,以下两种情况是否被视为有效情况?是否还有其他情况

might vs. mighty
male vs. mall

如果你认为只有一个案例是有效的,你可以实现一个算法,该算法将每个词与所有其他词进行比较,比较字母和计数不相等的词,对只有“差异计数”为1的词进行筛选。


否则,您可以实现一个已知的算法,或者找到一个实现该算法并使用它的库。

您正在寻找的是一本面向初学者的Java书籍。我认为这个问题对于堆栈溢出来说可能过于宽泛。但您可能会发现这篇博文非常相关:。上的Oracle文档,可能对ulSee;它是用Python编写的,但解决了同样的问题。