黑马程序员技术交流社区

标题: 如果给一个字符串,怎么找到字符串里边同一个字符出现的次数 [打印本页]

作者: ruijin    时间: 2016-4-27 23:03
标题: 如果给一个字符串,怎么找到字符串里边同一个字符出现的次数
列如:abcdekka27qoq这格字符串,怎么找到这个字符串中包含几个a呢
作者: 349153256    时间: 2016-4-27 23:48
通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:

import java.util.Scanner;
import java.util.TreeMap;
/**
* 从键盘输入16位长整数,编程统计每个数字出现的个数
* @author young
*
*/
public class CharMapDemo {
        // 统计数字或者字符出现的次数
        public static TreeMap<Character, Integer> Pross(String str) {
                char[] charArray = str.toCharArray();

                TreeMap<Character, Integer> tm = new TreeMap<Character, Integer>();

                for (int x = 0; x < charArray.length; x++) {
                        if (!tm.containsKey(charArray[x])) {
                                tm.put(charArray[x], 1);
                        } else {
                                int count = tm.get(charArray[x]) + 1;
                                tm.put(charArray[x], count);
                        }
                }
                return tm;
        }
       
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
//                System.out.println("请输入一个长整数:");
//                int temp = sc.nextInt();
//                String str = String.valueOf(temp);
//                TreeMap<Character, Integer> tm = Pross(str);
//                System.out.println(tm);
               
                System.out.println("请输入一个字符串:");
                String str = sc.nextLine();
                TreeMap<Character, Integer> tm = Pross(str);
                System.out.println(tm);
        }
}

输出各个字符的个数

如果仅仅像你说的这种  直接字符串遍历=a 就+1计数就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2