将一个句子拆分

将句子"this is a test, and that is also a test!"拆分成一个个单词,注意单词的顺序

这里涉及到的知识点比较多

  • 集合Map接口框架
  • set接口的使用
  • 迭代器(Iterator)的使用
  • 正则表达式
  • 遍历
/*
import 包名.*;的形式导入这个包中的所有类。*/
import java.util.*;/*** @ClassName TesrMap* @Description: TODO* @Author YingFengli* @Date 2021/2/22/022* @Version V1.0**/
public class TestMap {public static void main(String[] args) {/*LinkedHashMap的特点key和value都允许为空key重复会覆盖,value可以重复有序的LinkedHashMap是非线程安全的*/Map<String,Integer> map = new LinkedHashMap<String, Integer>();String string = "this is a test, and that is also a test!";//正则表达式,将语句分割成一个一个单词String str[]=string.split(",|\\s|!");/*针对数组进行循环,把每个单词添加到map中*/for(String s:str){/*s:key如果取到的值是null,说明该单词从未被统计过,则把1作为value,put进去如果取到的值不是null,则说明该单词已经被统计过,则把已经统计的value拿出来,然后+1*//*Integer是int类的包装类:主要用于装箱拆箱和拆箱、数据类型转换*/if (s.length() != 0) {Integer count = map.get(s);//这里一定要写count == null;因为包装后的变量相当于引用类了,否则会报空指针错误if (count == null) {map.put(s, 1);} else {count++;map.put(s, count);}}}/*最终遍历应该是从Map中去遍历1、先得到所有的key2、使用迭代器进行迭代*/Set<String> set = map.keySet();//得到所有的keyIterator<String> iter = set.iterator();//使用迭代器循环输出while (iter.hasNext()){String word = iter.next();//每次循环得到一个单词(单词是map的key部分)System.out.println(word + "\t" + map.get(word));//map.get(word)是map的V部分}}
}

运行结果如下:

this 1
is  2
a   2
test    2
and 1
that    1
also    1

拆分句子成为一个个单词,并统计各个单词的数量相关推荐

  1. 统计单词的数量 描述 输入一个英文句子,以回车符结束,单词间以空格分隔,标点符号后跟至少一个空格,统计并输出单词的个数(仅统计单词,数字按单词计,不计算标点符号,重复单词出现几次就统计几次)。‪‬‪‬

    统计单词的数量 描述 输入一个英文句子,以回车符结束,单词间以空格分隔,标点符号后跟至少一个空格,统计并输出单词的个数(仅统计单词,数字按单词计,不计算标点符号,重复单词出现几次就统计几次).‪‬‪‬ ...

  2. python统计英文句子每个单词字数_Python实现的统计文章单词次数功能示例

    本文实例讲述了Python实现的统计文章单词次数功能.分享给大家供大家参考,具体如下: 题目是这样的:你有一个目录,放了你一个月的日记,都是 txt,为了避免分词的问题,假设内容都是英文,请统计出你认 ...

  3. python【蓝桥杯vip练习题库】ADV-105 不同单词个数统计(集合)

    试题 算法提高 不同单词个数统计 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子"one ...

  4. Atitit. . 软件命名空间与类名命名单词的统计程序设计v2

    Atitit. . 软件命名空间与类名命名单词的统计程序设计v2 1. 要实现的目标1 1.1. Camel字符串模式的分词处理1 1.2. 多个大写的处理1 1.3. 数字与字幕的分离1 1.4.  ...

  5. 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起

    先瞎扯点别的.进入这个神圣的地方总需要些鞭策,阿西巴,我是被鞭策进来摆摊的程序猿.软件工程老师说,写程序,发博客,就来博客园.这是个号召力很强的口号.最近看网络营销 搜索引擎优化的书多一些,只能说王老 ...

  6. 【C语言】单词个数统计(库函数第一次运用)

    编写程序,实现单词个数统计.从键盘输入一行字符,长度小于1000.统计其中单词的个数,各单词以空格分隔,且空格数可以是多个.输入要求:输入只有一行句子.仅有空格和英文字母构成.输出要求:输出单词的个数 ...

  7. java统计有多少个单词_Java不同单词个数统计

    描述 编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数.例如:对于句子"one little two little three little boys",总共有5个 ...

  8. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  9. 复试编程训练真题——C语言,统计各单词(字符)出现的次数,并将各单词(字符)和其出现的次数输出到屏幕和文件中

    119.已有文本文件test.txt,其中的内容为hello,how are you.Welcome you to China!编写一个程序,读取test.txt,统计各单词出现的次数,并将各单词和其 ...

最新文章

  1. 在AI人工智能时代,大学或需要重新定位
  2. ubuntu 10.04 安装 pyquery
  3. elasticsearch 复杂查询小记
  4. 一堂如何提高代码质量的培训课【转】
  5. java pdf 首页 缩略图_Java中将上传的文件首页生成缩略图(先将上传的文件转成pdf,然后将pdf转成jpg)...
  6. 1-5 线性表元素的区间删除 (20 分)
  7. html cols跨两列,html – CSS奇怪,甚至有2个cols
  8. Linux学习笔记-调用pthead_create创建线程
  9. [air for ios] 三小时开发一个iOS飞行射击游戏
  10. 批量删除Cookie(实用)
  11. 如何使用UMAP分析100维数据,惊艳令人叹为观止
  12. 【Verilog HDL】4选1数据选择器
  13. 经典sql练习题(oracle版)
  14. 无线WIFI“信道”
  15. 一篇文章全面了解光纤到户FTTH,光分路器
  16. tenacity 报错_Python Tenacity 实现重试机制
  17. UESTC 1593 老司机破阵 优先队列+双端链表
  18. update select 语句和merge into语句
  19. Python中的单行、多行、中文注释
  20. R语言 面板数据分析 plm包实现(一) ——LSDV和固定效应模型

热门文章

  1. 只要400行代码就能自已实现一个绘图机原型固件,esp8266 + micropython 用3d打印机改的绘图机
  2. 步进电机驱动之相数、步距角、细分、拍数
  3. 怎样删除androidstudio创建的模拟器
  4. Java写win10激活码_win10系统配置java环境 生成密钥
  5. 2019 年第一季度 Dapp 报告,EOS 表现抢眼,TRON增长猛烈
  6. bootstrap-table的refresh查询
  7. COMSOL弱形式解微分方程
  8. 【计算机原理与接口技术(UNIX)⑱】——并行 I/O 接口 [ 芯片8255A ]
  9. 135编辑器怎么用HTML,微信公众号文章查看HTML代码(HTML代码修改方法)
  10. 大话中国骨干网(下)