根据字符串中出现的字符逐个打印各字符出现次数

package com.enterprise.reporting.entity;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
public class Test {
	public static void main(String[] stra){
		String str = "fgfdhhd5hb56546vg546";// 定义字符串  
		char arr[] = str.toCharArray();// 转换成字符数组  
		Arrays.sort(arr);// 数组排序  
		String temp = new String(arr);// 重新产生字符串  
		Map map = new HashMap();
		//遍历统计  
		for(int startIndex=0;startIndex<str.length();){  
			char c = temp.charAt(startIndex);// 获取第一个相同字符  
			String t = String.valueOf(c);// 把第一个字符转换成字符串  
			// 获取字符最后出现的位置  
			int lastIndex = temp.lastIndexOf(t);  
			System.out.println(t+" 出现的次数为: "+(lastIndex+1-startIndex));  
			map.put(t, lastIndex+1-startIndex);
			startIndex=lastIndex+1;//下次开始的位置  
		}  
		System.out.println(map.toString());
	}
}

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/54572714