文字列の中で出現回数の最も多いアルファベットと出現回数を求めます

1379 ワード



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+" ");
        	}
        }
	}
    
}