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

代码转 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值