又手痒写了一下。
- package test;
- public class Test12 {
- public static void main(String[] args) {
- countCharTimes("yekmaakkccekymbvb");
- }
- public static void countCharTimes(String string) {
- char[] stringChars = string.toCharArray();
- char[] chars = new char[stringChars.length];// 用于存储不同的字符
- int[] times = new int[stringChars.length];// 用于存储各个字符的出现的次数
- int size = 0;// 不同字符的实际种数
- // 外循环遍历原字符串的各个字符
- out: for (int i = 0; i < stringChars.length; i++) {
- // 内循环遍历不同字符的数组,若字符已经出现则次数加1,且跳出内循环,继续外循环
- for (int j = 0; j < size; j++) {
- if (chars[j] == stringChars[i]) {
- times[j]++;
- continue out;
- }
- }
- chars[size] = stringChars[i];// 加入不同的字符
- times[size] = 1;// 新加入的字符次数设置为1
- size++;// 不同字符数组的实际种数加1
- }
- System.out.println("字符串\"" + string + "\"中,有" + size + "种字符,各个字符的个数为:");
- for (int i = 0; i < size; i++) {
- System.out.println(chars[i] + ":" + times[i]);
- }
- }
- }
复制代码 |