字符统计

来源:互联网 发布:网络诈骗的手段有 编辑:程序博客网 时间:2024/05/17 23:50
/* * 问题描述  给定一个由小写字母组成的字符串(长度在1至100之间), 统计各个字母在这个字符串中出现的次数。输入格式  有一行,表示要统计的字符串输出格式  有若干行,每行输出一个字符以及它在字符串中出现的次数,中间用一个空格符分隔。  在输出时注意以下两点:  1、没有在字符串中出现的字符不要输出  2、输出的每个字符应按照字母顺序排列样例输入baazza样例输出a 3b 1z 2 */import java.util.Iterator;import java.util.Map;import java.util.Scanner;import java.util.TreeMap;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String str=sc.nextLine();                getCharCount(str);}public static String getCharCount(String str) {char array[]=str.toCharArray();//将字符串转换成字符数组Map <Character,Integer > map=new TreeMap<Character,Integer> ();//定义map集合表for (int i = 0; i < array.length; i++) {Integer value=map.get(array[i]);//将数组中的字母作为键去查map表if(value==null){//判断值是否为nullmap.put(array[i], 1);}else{map.put(array[i], value+1);}}return mapToString(map);}private static String mapToString(Map<Character, Integer> map) {Iterator<Character> it=map.keySet().iterator();while(it.hasNext()){Character key=it.next();Integer value=map.get(key);System.out.print(key+" ");System.out.print(value);System.out.println();}return null;}}

0 0
原创粉丝点击