如何在不计算 java 文件中的原始单词的情况下查找重复的单词


 import java.io.BufferedReader;   
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import org.apache.commons.io.FileUtils;
 public class sample{
    public static void main(String[] args) throws FileNotFoundException, IOException {
    FilenameFilter filter = new FilenameFilter() {
        public boolean accept(File dir, String name) {
            return name.endsWith(".txt");
        }
    };
    File folder = new File("E:\testfolder\");
    File[] list Of Files = folder.listFiles(filter);
    for (int i = 0; i < list Of Files.length; i++) {
        File file1 = list Of Files[i];
        try {
            String content = FileUtils.readFileToString(file1);
        } catch (IOException e) {
            e.printStackTrace();
        }
        BufferedReader ins = null;
        try {
            ins = new BufferedReader (
                    new InputStreamReader(
                        new FileInputStream(file 1)));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        String message = org.apache.commons.io.IOUtils.toString(ins);
        String[] string array = message.split(" "); 
        List<String> list = new ArrayList<String>(Arrays.asList(string array)); 
    //  System.out.println("Repeated words found in the file"); 
        Set<String> unique Set = new HashSet<String>(list); 
        for (String temp : unique Set) { 
                if ( (Collections.frequency(list, temp)) >= 2 ){
        System.out.println(temp+"="+Collections.frequency(list, temp));
        //  System.out.println(temp);
         int occurrences = Collections.frequency(list, 2);
        } 
        }
        }}}

到目前为止,我尝试过,但无法获得输出这是我的逻辑。

这些是文件中的字符串或单词。公羊 公羊 公羊山姆 山姆 山姆 山姆 山姆男人

在这个例子中,ram sam man这些是原始单词。剩下的公羊,公羊,山姆,山姆,人是重复的词,又名重复的词。所以总字数为 8重复字数总数为 5剩余字数总数为3。

但我的输出为重复单词数=3(公羊=3,sam=3,人=2)

这是我上面的代码我是Java的初学者。欢迎任何建议:)

Collections.frequency(list, temp) - 1 

而不是

Collections.frequency(list, temp)

研究互联网上的收藏频率,你可以得到答案

相关内容

最新更新