java中统计一个字符串中出现最多的字符和次数

用Map来存储被拆分成数组的字符串,key为字符,value为出现次数

package net.hncu.other;

import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

import org.junit.Test;

public class Demo1 {
	@Test
	public void d() throws UnsupportedEncodingException{
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext()){
			String str=sc.nextLine().trim();
			char[] chs=str.toCharArray();  //把字符串拆分
			char key=' ';
			Integer max=0;
			Map<String, Integer> map=new HashMap<String, Integer>();
			for(int i=0;i<chs.length;i++){  //遍历字符串数组
				Integer v=map.get(""+chs[i]);  //出现的次数
				if(v==null||v==0){
					map.put(""+chs[i], 1);
				}
				else{
					v+=1;
					map.put(""+chs[i], v);
				}
				if(v!=null&&v>max){
					max=v;  
					key=chs[i];  //出现最多次数的key
				}
			}
			System.out.println(str+"出现最多的字符是:"+key+", 次数是:"+max);
		}
	}
}

 


版权声明:本文为zuosixiaonengshou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。