展开全部
private String[] chars; // 记录字符 private int[] count; // 记录总数 public void countChar(String str) { // 初始化数组:这里数组长度,使用字符串长度,但实际可能用不上,因为字符串中可62616964757a686964616fe78988e69d8331333337383963能重复 // 不想使用动态数组,比较麻烦,先演示 // 最好使用List,比数组方便 chars = new String[str.length()]; count = new int[str.length()]; for (int i = 0; i
原代码如下,有注释,请参考:
12345678910111213141516171819202122232425262728293031323334353637 import java.nio.charset.Charset;import java.util.HashMap;import java.util.Map;import java.util.Set; public class LetterCount { // 统计结果用,采用Character即char做键(Key) private Map countMap = new HashMap(); public void countChar(String str) { char[] chars = str.toCharArray();// 将字符串转换成字符char数组 // 循环,开始统计 for (char ch : chars) { // 判断字符是否存在 if (!countMap.containsKey(ch)) { // 不存在,在Map中加一个,并设置初始值为0 countMap.put(ch, 0); } // 计数,将值+1 int count = countMap.get(ch); countMap.put(ch, count + 1); } // 输出结果 Set keys = countMap.keySet(); for(Character ch : keys){ System.out.println("字符" + ch + "出现次数:" + countMap.get(ch)); } } public static void main(String[] args) { // 测试方法 LetterCount test = new LetterCount(); test.countChar("Adfasadfadaere"); // 注:不支持中文 }}