java实现的统计字符算法示例

 更新时间:2017年10月17日 10:52:03   作者:弗兰随风小欢  
这篇文章主要介绍了java实现的统计字符算法,涉及java针对字符的遍历、判断、运算等相关操作技巧,需要的朋友可以参考下

本文实例讲述了java实现的统计字符算法。分享给大家供大家参考,具体如下:

统计字符:

概述:给定字符串,将它们进行分类,分别的去统计它们的个数及其字符

分类的有:字母 数字 中文 空格 等等

算法思路分析:

分别统计即可:

下面给出代码:(代码仅供参考)

package javastudy;
public class Testit6 {
  public static void main(String[] args) {
    String str = "...天2气 ;[1] aA"; // 英文 中文 数字 空格 其他
    System.out.printf("字符串长度:%d\n", str.length()); //输出总字符串的长度!
    StringBuilder[] s = new StringBuilder[4];
    for (int i = 0; i < s.length; i++) {
      s[i] = new StringBuilder(); //生成存放字符的数组
    }
    for (int i = 0; i < str.length(); i++) {
      if (str.charAt(i) >= 'A' && str.charAt(i) <= 'z') { //判断英文字符
        s[0].append(str.charAt(i)); //存放符合条件的字符
      } else if (str.charAt(i) >= 19968 && str.charAt(i) <= 171941) { //判断中文 这只是一种判断中文的方法 
        s[1].append(str.charAt(i));
      } else if (str.charAt(i) >= '0' && str.charAt(i) <= '9') { //判断数字字符
        s[2].append(str.charAt(i));
      } else { //其他  另外的判断空格值之类的,自己可以去百度上查查
        s[3].append(str.charAt(i));
      }
    }
    for (int i = 0; i < s.length; i++) { //打印输出
      System.out.printf("%d\t%s\n", s[i].length(), s[i].toString());
    }
  }
}

输出结果:

字符串长度:14
4 []aA
3 天气;
2 21
5 ... 

PS:这里再为大家推荐2款非常方便的统计工具供大家参考使用:

在线字数统计工具:
http://tools.jb51.net/code/zishutongji

在线字符统计与编辑工具:
http://tools.jb51.net/code/char_tongji

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • mac安装配置jdk环境变量

    mac安装配置jdk环境变量

    这篇文章主要为大家介绍了mac安装配置jdk环境变量实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java文件写入器FileWriter使用指南

    Java文件写入器FileWriter使用指南

    在Java中,FileWriter类用于将字符写入文件中,它继承了Writer类,因此可以使用Writer类中的所有方法,下面我们就来深入探讨一下FileWriter类的使用方法吧
    2023-10-10
  • 基于google zxing的Java二维码生成与解码

    基于google zxing的Java二维码生成与解码

    这篇文章主要为大家详细介绍了基于google zxing的Java二维码生成与解码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Java 中 synchronized的用法详解(四种用法)

    Java 中 synchronized的用法详解(四种用法)

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧
    2015-11-11
  • 一文带你掌握Java8中Lambda表达式 函数式接口及方法构造器数组的引用

    一文带你掌握Java8中Lambda表达式 函数式接口及方法构造器数组的引用

    Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等
    2021-10-10
  • spring-boot.version2.6升级到2.7.18后security报错问题

    spring-boot.version2.6升级到2.7.18后security报错问题

    这篇文章主要介绍了spring-boot.version2.6升级到2.7.18后security报错问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 详解Java多线程和IO流的应用

    详解Java多线程和IO流的应用

    这篇文章主要介绍了详解Java多线程和IO流的应用,无论是本地文件复制,还是网络多线程下载,对于流的使用都是一样的,需要的朋友可以参考下
    2023-04-04
  • 使用开源项目JAVAE2 进行视频格式转换

    使用开源项目JAVAE2 进行视频格式转换

    这篇文章主要介绍了使用开源项目JAVAE 进行视频格式转换,帮助大家更好的利用Java处理视频,完成自身需求,感兴趣的朋友可以了解下
    2020-11-11
  • MyBatisPlus的autoResultMap生成策略实现

    MyBatisPlus的autoResultMap生成策略实现

    本文主要介绍了MyBatisPlus的autoResultMap生成策略实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • RestTemplate上传、下载文件实例代码

    RestTemplate上传、下载文件实例代码

    介绍了文件上传和下载的基本方法,包括处理本地文件和文件流,上传时区分了文件是否在本地,下载时强调返回值为byte[],并提供了工具类进行进一步处理
    2025-02-02

最新评论