`
befairy
  • 浏览: 37400 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

求一字符串中出现次数最多的字母和出现次数

阅读更多

package zju;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class TheMostChar {

	/**
	 * 定义一串字母的字符串,求出现最多的那个字母,出现了多少次! 
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		String str=null;
		int max=0;
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		System.out.print("请输入字符串:");
        str=br.readLine();
        br.close();
        Map<Character,Integer> m=new HashMap<Character,Integer>();
        for(int i=0;i<str.length();i++){
        	char c=str.charAt(i);
        	if(m.containsKey(c)){
        		m.put(c,m.get(c)+1);
        		if(max<m.get(c)+1){
        			max=m.get(c);
        		}
        	}else{
        		m.put(c,1);
        	}
        }
      
        Set<Character> S=m.keySet(); 
        for(char cc:S){
        	 
        	if(m.get(cc)==max){
        		System.out.println("出现次数最多的字符是"+cc+"一共出现"+max+"次");
        	}
        }
	}
    
}


分享到:
评论
1 楼 wangshiming88 2011-01-16  
[size=large]点评一下吧 我也是个新手不是很懂
说一下程序的缺点以上的代码中不管是否有问题,都要使用try...catch快进行异常的捕获与处理 throws是在方法处理定义的那么在主方法也可以使用throws关键字,但是主方作为程序的起点,所以此时主方法在向上抛出异常,则只能将异常交给jvm处理。这样好比一个公司部门的事情处理不了,要上报给经理,经理也处理不了就交个董事长,董事长也就到头了,那么java的头就是jvm 。
主方法为一切的起点一切的操作也是由主
[/size]方法开始的。所以如果在主方法中使用了throws关键字,则程序出现问题后肯定交个jvm处理将造成程序中断 也就失去了捕获异常的意义

相关推荐

Global site tag (gtag.js) - Google Analytics