java统计字符串数组Str[100]中所有不同的字符串及字符串在数组中出现的次数

java统计字符串数组Str[100]中所有不同的字符串及字符串在数组中出现的次数... java统计字符串数组Str[100]中所有不同的字符串及字符串在数组中出现的次数 展开
 我来答
灵粉哈x
2015-04-28 · TA获得超过1486个赞
知道大有可为答主
回答量:2001
采纳率:25%
帮助的人:1592万
展开全部
private String[] chars; // 记录字符    private int[] count; // 记录总数     public void countChar(String str) {        // 初始化数组:这里数组长度,使用字符串长度,但实际可能用不上,因为字符串中可能重复        // 不想使用动态数组,比较麻烦,先演示        // 最好使用List,比数组方便        chars = new String[str.length()];        count = new int[str.length()];         for (int i = 0; i < str.length(); i++) {            // 判断字符是否存在            for (int idx = 0; idx < chars.length; idx++) {                if (chars[idx] == null) {                    chars[idx] = str.substring(i, i + 1); // 截取1个长度                    count[idx] = count[idx] + 1;                    break;                }                if (chars[idx].equals(str.substring(i, i + 1))) {                    count[idx] = count[idx] + 1;                    break;                }            }        }         // 输出结果        for (int i = 0; i < chars.length; i++) {            if (chars[i] != null)                System.out.println("字符[" + chars[i] + "]出现次数:" + count[i]);        }     }     public static void main(String[] args) {        // 测试方法        LetterCount test = new LetterCount();        test.countChar("Adfasadfadaere你你好好");    }}    

原代码如下,有注释,请参考:
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<Character, Integer> countMap = new HashMap<Character, Integer>();     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<Character> 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"); // 注:不支持中文    }}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式