zoukankan      html  css  js  c++  java
  • 飘的单词查询总结

    设计思路就是将所查询的文章先分开为单词,然后将其存储在表中,同时存储对应的id,进而在后续的总结中与前面的单词比较和统计即可。

    文件查询只需要加入相应的遍历文件语句即可。

    代码如下:

    package chachong2;
    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.util.*;
    
    
    public class ChaChong22{
        public static void main(String [] args) throws Exception {
            play(new File("C:\Users\Lenovo\Desktop\"));
            BufferedReader br = new BufferedReader(new FileReader("C:\Users\Lenovo\Desktop\飘c1.txt"));
    
            StringBuffer sb = new StringBuffer();
            String text =null;
            while ((text=br.readLine())!= null){
                sb.append(text);// 将读取出的字符追加到stringbuffer中
            }
            br.close();  // 关闭读入流
    
            String str = sb.toString().toLowerCase(); // 将stringBuffer转为字符并转换为小写
            String[] words = str.split("[^(a-zA-Z)]+");  // 非单词的字符来分割,得到所有单词
            Map<String ,Integer> map = new HashMap<String, Integer>() ;
    
            for(String word :words){
                if(map.get(word)==null){  // 若不存在说明是第一次,则加入到map,出现次数为1
                    map.put(word,1);
                }else{
                    map.put(word,map.get(word)+1);  // 若存在,次数累加1
                }
            }
          
            // 排序
            List<Map.Entry<String ,Integer>> list = new ArrayList<Map.Entry<String,Integer>>(map.entrySet());
            {
                
            }
            Comparator<Map.Entry<String,Integer>> comparator = new Comparator<Map.Entry<String, Integer>>() {
                public int compare(Map.Entry<String, Integer> left, Map.Entry<String, Integer> right) {
                    return (left.getValue().compareTo(right.getValue()));
                }
            };
            // 集合默认升序升序
            Collections.sort(list,comparator);
       
            for(int i=0;i<list.size();i++){// 由高到低输出
                if(list.get(list.size()-i-1).getKey().equals("a")||list.get(list.size()-i-1).getKey().equals("an")||list.get(list.size()-i-1).getKey().equals("the")||list.get(list.size()-i-1).getKey().equals("of")||list.get(list.size()-i-1).getKey().equals("and")) {
                }else {
                    System.out.println(list.get(list.size()-i-1).getKey() +":"+list.get(list.size()-i-1).getValue());
                }
            }
    
        }
        static File[] play(File file){
            //获取当前文件夹下的所有子文件
            File[] files =file.listFiles();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isFile()){
                    //输出文件名
                    String filename=files[i].getName();
                    System.out.println("filename: "+filename);
                }
                else {
                    play(files[i]);
                }
            }
            return files;
        }
    }
  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/hwh000/p/10811420.html
Copyright © 2011-2022 走看看