统计英语单词

使用Scanner类和正则表达式统计一篇英文中的单词,要求如下:

1、一共出现了多少个单词。

2、有多少个互不相同的单词。

3、按单词出现的频率大小输出单词。

package 第七次;
import java.util.*;
import java.io.*;
import java.util.regex.*;public class word {public static void main(String[] args) {String inputFile = "src/java线上作业/第三章/crossion.txt";// 读取输入文件Map<String,Integer> wordIndex = new HashMap<>();//设置set集合来存放已经出现的单词Set<String> Words = new HashSet<>();//单词计数器int count =0;//互不相同单词出现的次数int uncount =0;//定义集合用于存放互不相同的单词Map<Integer,String> dict;try (BufferedReader reader = new BufferedReader(new FileReader(inputFile))) {//new一个BufferedReader对象,将文件内容读取到缓存String line;while ((line = reader.readLine()) != null) {//读取无论是大写还是小写的单词Pattern pattern = Pattern.compile("[A-Za-z][A-Za-z-]*");//正则表达式,按先大写后小写Matcher matcher = pattern.matcher(line);while (matcher.find()) {String word = matcher.group().toLowerCase();// 将单词转换为小写wordIndex.put(word,wordIndex.getOrDefault(word,0)+1);count++;//输出不相同的单词,if(!Words.contains(word)){dict = new HashMap<>();dict.put(count,word);//3、将互不相同的单词以集合的方式输出System.out.println(dict);//将出现过的单词添加到集合中Words.add(word);uncount++;}}}//1、互不相同单词出现的次数System.out.print("不相同的单词次数:"+uncount);//2、单词出现的数量System.out.print("单词出现的数量:"+count);}catch (IOException e) {e.printStackTrace();}//计算不同单词出现的次数List<Map.Entry<String, Integer>> sortedWords = new ArrayList<>(wordIndex.entrySet());Collections.sort(sortedWords, Map.Entry.<String, Integer>comparingByValue().reversed());for (Map.Entry<String, Integer> entry : sortedWords) {int countvalue = Integer.valueOf(entry.getValue());//输出System.out.println("单词出现的频率:"+entry.getKey() + ": " + countvalue*0.01+"%");}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能助力医疗:科技护航健康未来

欢迎大家浏览我的博客。YinKais Blog | YinKais Blog 人工智能的魔法不仅仅体现在解决问题、提供建议的方面&#xff0c;更深刻地改变了医疗领域&#xff0c;成为我们健康的科技守护者。本文将聚焦于人工智能在医疗领域的应用&#xff0c;探讨它是如何助力医疗事业&#xff0c;…

重生奇迹mu召唤师攻略

一、技能系统 1、技能大类&#xff1a;召唤师主要有火焰职业技能和水元素技能。 2、火焰职业技能&#xff1a;主要是使用火焰元素进行攻击&#xff0c;可以攻击单个目标&#xff0c;也可以同时攻击多个目标。 3、水元素技能&#xff1a;主要是对多个敌方单位使用水元素&…

在 Spring Boot 中使用 MyBatis-Plus 进行批量操作数据

引言 MyBatis-Plus 是 MyBatis 的增强工具包&#xff0c;提供了许多便捷的功能来简化 MyBatis 的使用。在实际项目中&#xff0c;我们经常需要进行批量的数据操作&#xff0c;例如批量插入、批量更新和批量删除。本文将介绍如何在 Spring Boot 中使用 MyBatis-Plus 进行这些批…

ZFPlayer 播放视频的时候的视图层级

未播放的时候 首先看正常展示的时候&#xff0c;还没又开始播放 这个时候我们打开图层看一下&#xff0c;发现视频时长和播放按钮都是放在 视频封面图上的 播放的时候 我们看到的播放视频的画面 我们发现&#xff0c;我们之前在未播放状态看到的视图&#xff0c;仍然还在…

Linux入门

什么是Linux&#xff1f; Linux是一种免费、开源的操作系统内核 最初由芬兰计算机科学家 李纳斯托瓦兹 (Linus Torvalds)在1991年创建 Linux内核最初是为个人电脑设计的&#xff0c;如今已普及到服务器、超级计算机、移动设备等各种硬件平台 由于Linux是自由软件&#xff08;自…

logcat日志的使用——Qt For Android

前言 最近一直用qt开发安卓app&#xff0c;一直无法用真机调试&#xff0c;可能是缺什么东西。但是如果通过Qt Creator在真机上运行&#xff0c;可以在电脑控制台看打印&#xff08;安卓本身的日志、qDebug之类的打印&#xff09;&#xff0c;所以我是通过打印猜测问题所在&am…

在零信任架构下的API安全与滥用防护(上)

引言 在当今数字化的浪潮中&#xff0c;应用程序编程接口&#xff08;API&#xff09;的战略重要性愈发凸显。API不仅仅是现代软件和互联网服务之间沟通的桥梁&#xff0c;更是企业价值创造的核心。随着API的快速发展和广泛应用&#xff0c;安全问题随之而来&#xff0c;其中A…

连锁零售企业如何提高异地组网的稳定性?

随着数字化时代的到来&#xff0c;连锁零售企业面临着日益复杂和多样化的网络挑战。连锁零售企业是在不同地理位置拥有分支机构和零售店&#xff0c;可能同城或异地&#xff0c;需要确保各个地点之间的网络连接稳定和可靠。但由于不同地区的网络基础设施差异、网络延迟和带宽限…

【洛谷算法题】P5716-月份天数【入门2分支结构】

&#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5716-月份天数【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格式&a…

云时空社会化商业 ERP 系统 gpy 文件上传漏洞复现

0x01 产品简介 时空云社会化商业ERP&#xff08;简称时空云ERP&#xff09; &#xff0c;该产品采用JAVA语言和Oracle数据库&#xff0c; 融合用友软件的先进管理理念&#xff0c;汇集各医药企业特色管理需求&#xff0c;通过规范各个流通环节从而提高企业竞争力、降低人员成本…

Springboot 设置时区与日期格式

1.配置文件修改&#xff08;范围修改&#xff09; spring:jackson:# 东8 北京时区time-zone: GMT8# 日期格式date-format: yyyy-MM-dd HH:mm:ss 2.Java代码修改&#xff08;范围修改&#xff09; 2.1 时区 import org.springframework.context.annotation.Bean; import org.…

Day45力扣打卡

打卡记录 无矛盾的最佳球队&#xff08;线性DP&#xff09; class Solution:def bestTeamScore(self, scores: List[int], ages: List[int]) -> int:n len(scores) nums sorted(zip(scores, ages))f sorted(scores)for i in range(n):for j in range(0, i):if nu…

【学习笔记】GAN前沿主题

最小-最大(Min-Max)GAN 非饱和(Non-Saturating)GAN 沃瑟斯坦(Wasserstein)GAN,即WGAN 所有的生成模型最终来源于最大似然(maximum likelihood),至少隐式地是这样的。 GAN有两个相互竞争的损失函数,这样的系统没有单一的解析解。 最大似然近似容易过度泛化。 用于统计…

CSP-S2021提高组第二轮T2:括号序列

题目链接 [CSP-S 2021] 括号序列 题目描述 小 w 在赛场上遇到了这样一个题&#xff1a;一个长度为 n n n 且符合规范的括号序列&#xff0c;其有些位置已经确定了&#xff0c;有些位置尚未确定&#xff0c;求这样的括号序列一共有多少个。 身经百战的小 w 当然一眼就秒了这…

无人机覆盖路径规划综述

摘要&#xff1a;覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来&#xff0c;无人机已被应用于涉及地形覆盖的多个应用领域&#xff0c;如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方…

好用的chatgpt工具用过这个比较快

chatgpthttps://www.askchat.ai?r237422 chatGPT能做什么 1. 对话和聊天&#xff1a;我可以与您进行对话和聊天&#xff0c;回答您的问题、提供信息和建议。 2. 问题回答&#xff1a;无论是关于事实、历史、科学、文化、地理还是其他领域的问题&#xff0c;我都可以尽力回答…

php时间和centos时间不一致

PHP 时间和 CentOS 操作系统时间不一致的问题通常是由于时区设置不同造成的。解决这个问题可以通过以下几个步骤&#xff1a; 检查 CentOS 系统时间&#xff1a; 你可以通过在终端运行命令 date 来查看当前的系统时间和时区。 配置 CentOS 的时区&#xff1a; 如果系统时间不正…

关于前端学习的思考-内边距、边框和外边距

从最简单的盒子开始思考 先把实际应用摆出来&#xff1a; margin&#xff1a;居中&#xff0c;控制边距。 padding&#xff1a;控制边距。 border&#xff1a;制作三角形。 盒子分为内容盒子&#xff0c;内边距盒子&#xff0c;边框和外边距。 如果想让块级元素居中&#…

【排序】希尔排序(C语言实现)

文章目录 前言1. 希尔排序的思想2. 希尔排序的一些小优化 前言 本章将详细介绍希尔排序的思想及实现&#xff0c;由于希尔排序是在插入排序的思想上进行升华&#xff0c;所以如果不知道插入排序或者不熟悉的可以先看看这篇文章&#xff1a;《简单排序》中的直接插入排序。 1. 希…

《golang设计模式》第三部分·行为型模式-09-策略模式(Strategy)

文章目录 1. 概述1.1 作用1.1 角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概述 1.1 作用 策略&#xff08;Strategy&#xff09;是用于封装一组算法中单个算法的对象&#xff0c;这些策略可以相互替换&#xff0c;使得单个算法的变化不影响使用它的客户端。 1.1 …