A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

列如:abcdekka27qoq这格字符串,怎么找到这个字符串中包含几个a呢

1 个回复

倒序浏览
通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:

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计数就可以了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马