编写步骤

从控制台接收一个字符串输出每个字符出现的次数

1.从控制台接收一个字符串
2.创建一个Map集合 键存储字符 值储存该字符出现的次数
3.循环遍历找到每一个字符(charAt)

  • 判断该字符释放在map集合的键中出现过
  • 如果出现过 说明之前储存过该键,获取到之前的值+1 然后再放进去
  • 如果没有出现过 说明是第一次出现 就把该字符直接放到Map集合中值设置为 1

4.调用KeySet方法获取该集合中存储所有键的Set集合
5.增强for循环找到每一个键,然后再通过键获取对应的值 输出

代码展示

public class Test02 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一串字符:");
        //从控制台接收字符串
        String str = sc.next();
        //创建一个Map集合存储字符,用来存储字符出现的次数
        HashMap<Character, Integer> map = new HashMap<>();
        //用for循环遍历找到每个字符串
        for (int i = 0; i <str.length() ; i++) {
            char c = str.charAt(i);
            //调用containsKey方法来判断它是否在map集合中出现
            if (map.containsKey(c)) {
                //出现即+1 存到map集合
                map.put(c,map.get(c)+1);
            }else {
                //没出现直接放进map集合,值为1
                map.put(c,1);
            }
        }
        //Set<Character> keySet=map.keySet();
        //调用KeySet方法获取map集合中所有键的set集合
        for (Character key :map.keySet()) {
            Integer value = map.get(key);
            System.out.println(key + "-" + value);
        }
    }
}

输出结果

请输入一串字符:
abcd

a-1
b-1
c-1
d-1

Process finished with exit code 0
最后修改:2021 年 01 月 13 日 01 : 58 PM
如果觉得我的文章对你有用,请随意赞赏