Java实现统计字符串出现次数的代码

本文为大家分享了vuJava实现统计字符串出现次数的具体代码,供大家参考,具体内容如下

 

需求:

健盘录入一个字符串,要求统计字符串中每个字符串出现的次数。

举例:键盘录入"aababcabcdabcde"

在控制台输出: "a(1)b(4)c(3)d(2)e(1)"

 

思路:

①健盘录入一个字符串
②创建HashMap集合,键是Character, 值是Integer
③遍历字符申,得到每一个字符
④拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储
如果返回值不是null:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对成的值
⑤遍历HashMap集合,得到键和值,按照要求进行拼接
⑥输出结果

public class StrCount {
  public static void main(String[] args) {

      //健盘录入一个字符串
      Scanner sc = new Scanner(System.in);
      System.out.println("清输入一串字符串:");
      String line = sc.nextLine();

      //创建HashMap集合,键是Character, 值是Integer
      HashMap<Character, Integer> map = new HashMap<>();

      //遍历字符申,得到每一个字符
      for (int i = 0; i < line.length(); i++) {
          char key = line.charAt(i);
          //拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值
          Integer value = map.get(key);

          if (value == null) {
              //如果返回值是null:说明该字符在HashMap集合中不存在,就把该字符作为键,1作为值存储
              map.put(key, 1);
          } else {
              //如果返回值不是ull:说明该字符在HashMap集合中存在,把该值加1,然后重新存储该字符和对成的值
              value++;
              map.put(key, value);
          }
      }

      //遍历HashMap集合,得到键和值,按照要求进行拼接
      StringBuilder sb = new StringBuilder();
      Set<Character> keySet = map.keySet();
      for (Character key : keySet) {
          Integer value = map.get(key);
          sb.append(key).append("(").append(value).append(")");
      }

      //输出结果
      String result = sb.toString();
      System.out.println(result);

  }
}

最后那个遍历输出是跟着老师写的,只不过没贴我写的下面这个是因为我觉得老师的那个更符合题意,使用的是拼接,结果都一样。

//遍历HashMap集合,得到键和值,按照要求进行拼接
      Set<Character> keySet = map.keySet();
      for (Character key : keySet) {
          Integer value = map.get(key);
          //输出结果
          System.out.print(key + "(" + value + ")");
      }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程宝库

先来展示一下效果客户在添加的时候进入添加页面,需要上传文件时的相关页面及代码注:前端页面重要代码,multiple的作用是支持多图片上传,此处点击事件一定要使用onchange事件,切记不要误用on ...