这里介绍两种计数方法:一种是采用HashMap来计数,另一种计数是针对26个字母的计数方法。

  1. 方法一:使用hashMap,它的map.put(xx,map.getOrDefault(a[i],0)+1)==>实现计数;在通过它的key,获得它的value值

    1. 代码:

      public static void main(String[] args) {
              // TODO Auto-generated method stub
              Scanner scanner=new Scanner(System.in);
              String s=scanner.next();
              char a[]=s.toCharArray();//把字符串转换成字符数组
              HashMap<Character, Integer>map=new HashMap<Character, Integer>();
              for(int i=0;i<a.length;i++) {
                  map.put(a[i], map.getOrDefault(a[i],0)+1);//如果map.get(x)x不在就会报错,getOrDefault(c,0)如果没有就返回0,不会报错,如果存在就加1==就统计数了
              }
              List<Character>list=new ArrayList<Character>();
              //遍历hashmap
              int max=0;
              for(char key:map.keySet()) {//keyset里面存放map的所有key
                  int x=map.get(key);//通过key取map的值
                  if(x>max) {
                      list.clear();//清空集合
                      list.add(key);
                      max=x;
                  }else if(x==max) {
                      list.add(key);
                  }
              }
              for(char c:list) {
                  System.out.print(c);
              }
      //        System.out.println(map.toString());

      }

    2. 方法二:适用于26个字母的统计
    1. 首先:把获得的字符串遍历,得到字符

    代码:for(int i=0;i<s1.length();i++){

    char c=s1.chartAt(i);

    }

    2放入到数组中去:开辟一个长度为26的数组,思想就是,字符减去a得到一个数就是数组的下   标。Eg:a-”a”=0,因为ascall值

    代码:sm[c-”a”]++;实现存入和计数。

  2. 列子:

  3. 代码:

    static int[]ms=new int[26];
        static int[] mt=new int[26];

    public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner=new Scanner(System.in);
            String s1=scanner.next();
            String s2=scanner.next();
            for(int i=0;i<s1.length();i++){
                char c=s1.charAt(i);
                ms[c-'a']++;
            }
            for(int i=0;i<s2.length();i++){
                char b=s2.charAt(i);
                mt[b-'a']++;
            }
            for(int i=0;i<26;i++) {
                if(ms[i]<mt[i]) {
                    System.out.println("NO");
                    return;
                }
            }
            System.out.println("YES");

    }

Java统计中的计数方法相关推荐

  1. java多线程中的join方法详解

    java多线程中的join方法详解 方法Join是干啥用的? 简单回答,同步,如何同步? 怎么实现的? 下面将逐个回答. 自从接触Java多线程,一直对Join理解不了.JDK是这样说的:join p ...

  2. Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包

    文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程. Java程序中 ...

  3. Java 输出流中的flush方法

    Java 输出流中的flush方法 Java中的IO流中的输出流一般都有flush这个操作,这个操作的作用是强制将缓存中的输出流(字节流,字符流等)强制输出. 为什么会有这么个方法啊? 因为输出流在进 ...

  4. Java 8 中的工厂方法模式

    为什么80%的码农都做不了架构师?>>>    先唠叨一句工厂方法模式的定义: 定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类.工厂方法让类的实例化推迟到子类中进行. ...

  5. Java 8中的默认方法(Defender方法)简介

    我们都知道Java中的接口仅包含方法声明,而没有实现,并且任何实现该接口的非抽象类都必须提供实现. 让我们看一个例子: public interface SimpleInterface {public ...

  6. Java1.8接口方法都是抽象,判断(1分) Java接口中所有的方法都是抽象的。

    判断(1分) Java接口中所有的方法都是抽象的. 更多相关问题 [配伍题,B型题] (1).木瓜(). (2).独活().(3).防己().(4).蕲蛇(). [比较题] (1).质硬不易折断的是( ...

  7. 编写高质量代码:改善Java程序的151个建议 (第1章 Java开发中通用的方法和准则)

    第1章 Java开发中通用的方法和准则 The reasonable man adapts himself to the world;the unreasonable one persists in ...

  8. Java 8中Collectors.groupingBy方法空指针异常源码分析

    现在有这样的一个需求:老板让把所有的员工按年龄进行分组,然后统计各个年龄的人数. 这个需求,如果是在数据库中,可以直接使用一个 group by 语句进行统计即可,那么在 Java 中的话,可以借助于 ...

  9. 01-第一章 Java开发中通用的方法和准则

    建议1:不用在常量和变量中出现易混淆的字母 包括名全小写,类名首字母全大写,常量全部大写并用下划线分割,变量采用驼峰命名法(Camel Case)命名等. 例如: package com.compan ...

最新文章

  1. OpenCV+python:像素运算
  2. sublime几个插件
  3. 毕设笔记1----div样式
  4. vivado----fpga硬件调试 (七)----数据导出并用MATLAB读取
  5. 时尚经典 体验云桌办公经典时尚办公方式
  6. pythonsuper函数_认识python中的super函数
  7. Java中由substring方法引发的内存泄漏
  8. R语言数据转换(split-apply-combin…
  9. 关于Sql语句的心得体会
  10. python logging简单使用
  11. java 泛型强制转换_java – 使用泛型强制转换为内部类
  12. 20220123:力扣第277场周赛(上)
  13. knowndlls反劫持
  14. OpenCV 视频捕捉
  15. 数据可视化-制作交易收盘价
  16. java 自幂数_java计算自幂数和水仙花数
  17. Python深度学习-快速指南
  18. 【往届四个月检索,EI会议】第二届通讯技术与信息科技国际学术会议(ICCTIT 2022)
  19. torchtext field.build_vocab问题
  20. 【C语言】C语言概述

热门文章

  1. 大数据盘点2019上半年倒闭的44家餐厅的7种死法,千万别中招了!
  2. 中铁员工入职培训心得体会
  3. 深入理解硬盘的Linux分区
  4. 【gdoi2018 day1】小学生图论题
  5. OA与公文交换平台的接口解决方案
  6. 树莓派入门(十) 树莓派系统升级
  7. PEPS无钥匙进入系统-传统PEPS与数字钥匙系统
  8. 波形分辨率与FFT分辨率的区别
  9. (翻译)Pachyderm介绍-建造一个现代的Hadoop
  10. ffmpeg基础——基本框架介绍