zoukankan      html  css  js  c++  java
  • 计算出一段英文中出现频率最高的单词(第一次面试时没做出来,现在都记忆深刻)

    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStreamReader;
    import java.util.HashMap;
    import java.util.Map;
    
    public class StringSum {
        
        /**
         * 统计一段英文中出现次数最多的单词
         * @param filePath 文件的路径
         * @throws Exception 
         */
        public static void stringSumMethod(String filePath) throws Exception{
            File file=new File(filePath);
            FileInputStream input=new FileInputStream(file);
            BufferedReader bf=new BufferedReader(new InputStreamReader(input));
            StringBuffer sb=new StringBuffer();
            String content="";
            while((content=bf.readLine())!=null){
                sb.append(content);
            }
            
            bf.close();
            input.close();
            //System.out.println(sb.toString());
            
            String[] contents=sb.toString().split(" ");
            //System.out.println(contents.length);
            Map<String,Integer> map=new HashMap<String, Integer>();
            
            for(int i=0;i<contents.length;i++){
                //System.out.println(contents[i]);
                if(contents[i].equals("0")) continue;
                
                int times=1;
                for(int j=0;j<contents.length;j++){
                    if(contents[j].equals("0")) continue;
                    if(i==j) continue;
                    if(contents[i].equals(contents[j])){
                        times++;
                        contents[j]="0";//出现重复的就将重复的字符置"0"
                    }
                    //System.out.println(contents[i]+":"+times+"当前次数:"+j);
                }
                //System.out.println(contents[i]+":"+times+"当前次数:"+i);
                map.put(contents[i],times);    
                
            }
    //        System.out.println(map.size());
            //System.out.println(map.toString());
    
            
            int maxValue=0;
            String maxKey="";
            
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
                  // System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
                  if(entry.getValue()>maxValue){
                      maxValue=entry.getValue();
                      maxKey=entry.getKey();
                  }
            }
            System.out.println("出现最多的字符串:"+maxKey+" 出现次数:"+maxValue);
        }
    
    }
  • 相关阅读:
    tif文件导入postgresql
    与你相遇好幸运,使用redis设置定时任务
    用sinopia搭建npm私服
    Postman设置Header不生效问题
    iOS 动态加载LaunchScreen上的图片
    iOS 封装一个带复制功能的UILabel
    ios开发文字排版,段落排版,富文本
    iOS使用hitTest和loadView处理UIView事件传递
    iOS 更改状态栏颜色和隐藏状态栏
    iOS scrollView嵌套tableView的手势冲突解决方案
  • 原文地址:https://www.cnblogs.com/LvLoveYuForever/p/5466951.html
Copyright © 2011-2022 走看看