转载:统计一串英文中出现次数最多的单词以及次数;

来源:互联网 发布:数控画图软件 编辑:程序博客网 时间:2024/05/17 03:23

代码转 http://zhidao.baidu.com/link?url=cVl1QlTcYenN_dmR8PpWk5U8Dh098g6qI9jCNEyICUZ2k1Mt0qVw-b6O0bRh3P82sg3

package cn.rrl.interview;/** * 统计一串英文中出现次数最多的单词以及次数 * @author lenovo * */public class NewCountWord {/** * @param args */public static void main(String[] args) {String str = "But by the end of the year,look to the skies above London and you'll see the usual suspects raninclouds,planes and pigeons.you might just see something else.";System.out.println(getMax(getTheChar(str)));   }/** * 得到所有字母的次数 * @param str * @return */public static int[] getTheChar(String str){int[] chari = new int[26];//定义一个存储26个字母次数的int集合String [] strs = str.split("[ '.,]");StringBuffer sb = new StringBuffer();for(int i=0;i<strs.length;i++){sb.append(strs[i]);}String sbs = sb.toString().toLowerCase();//得到字符串for(char c='a';c<(char)('a'+25);c++){//迭代产生 abcd... 26个字母for(int i=0;i<sbs.length();i++){char chs = sbs.charAt(i);if(c==chs){chari[c-'a']++;}}}return chari;}public static String getMax(int [] chari){int max = chari[0];for(int i=1;i<chari.length;i++){if(max<chari[i]){max=chari[i];}}int index=0;for(int i=0;i<chari.length;i++){if(max==chari[i]){index=i;break;}}char c =(char) ('a'+index);return c+"..次数"+max;} }


0 0