输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量
输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量
实验思路:
1. 利用输入流将文件当中内容读入。
2. 将文件内容存入StringBuffer中;
3. 利用String的split()方法将字符串分隔,并将其存入数组中;
4. 遍历数组将其存入Map<String, Integer>中
5. 利用Collections的sort()方法进行排序。
6.输出打印。
import java.io.*;
import java.util.*;
import java.util.Map.Entry;
public class two
{
public static int n=0;
public static void main(String[] args) {
Scanner input=new Scanner(System.in); int count=0;
int num=1;
String file1="Harry Potter and the Sorcerer's Stone.txt";
try
{
BufferedReader a=new BufferedReader(new FileReader(file1));
StringBuffer c=new StringBuffer();
String s;
while((s = a.readLine()) != null)
{
c.append(s);
}
String m=c.toString().toLowerCase();
String [] d=m.split("[^a-zA-Z0-9]+");
Map<String , Integer> myTreeMap=new TreeMap<String, Integer>();
for(int i = 0; i < d.length; i++) { if(myTreeMap.containsKey(d[i])) {
count = myTreeMap.get(d[i]);
myTreeMap.put(d[i], count + 1);
}
else {
myTreeMap.put(d[i], 1);
}
}
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(myTreeMap.entrySet());
//按降序排序
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() { public int compare(Entry<String, Integer> k1, Entry<String, Integer> k2) {
return k2.getValue().compareTo(k1.getValue());
} });
System.out.println("请输入N的值:");
n=input.nextInt();
for(Map.Entry<String, Integer> map : list) {
if(num <= n) { System.out.println(map.getKey() + ":" + map.getValue());
num++;
}
else break;
}
a.close();
}
catch(FileNotFoundException e)
{ }
catch(IOException e)
{ }
}
}
输出《Harry Potter and the Sorcerer's Stone》文本中的前N个最长用的英文单词及其数量的更多相关文章
- 输出《Harry Potter and the Sorcerer's Stone》英文i的字母数量并排序
要求1:输出某个英文文本文件中 26 字母出现的频率,由高到低排列,并显示字母出现的百分比,精确到小数点后面两位. 字母频率 = 这个字母出现的次数 / (所有A-Z,a-z字母 ...
- Java的实验程序之输出单个文件中的前 N 个最常出现的英语单词
日期:2018.10.11 星期四 博客期:016 题目:输出单个文件中的前 N 个最常出现的英语单词,并输出到文本文件中 在程序运行之前,我试着先写了字符的字母的总结,加载代码如下: //如下是第一 ...
- 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积。-----力扣
给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积. 示例: 输入: [1 ...
- CocoaLumberjack+XcodeColor(输出带有颜色的日志)在安装过程中遇到的问题
在安装的时候遇到了各种坑,(在这里用到的pch文件的使用以及解决无法引入的问题,可以参考上午的文章) 一(XcodeColor的安装).在github上下载XcodeClolor的插件,并且安装,Xc ...
- 输出单个文件中的前 N 个最常出现的英语单词,并将结果输入到文本文件中。程序设计思路。
将文件内容读取后存入StringBuffer中. 利用函数将段落分割成字符串,按(“,”,“.”,“!”,“空格”,“回车”)分割,然后存入数组中. 遍历数组,并统计每个单词及其出现的次数. 要求出文 ...
- 如何使用 awk 输出文本中的字段和列
首先我们要知道,awk 能够自动将输入的行,分隔为若干字段.每一个字段就是一组字符,它们和其他的字段由一个内部字段分隔符分隔开来. 如果你熟悉 Unix/Linux 或者懂得 bash shell 编 ...
- cut 从文本中提取一段文字并输出
1.命令功能 cut 从每个文件中截取选定部分并输出. 2.语法格式 cut option file 参数说明 参数 参数说明 -b (–bytes) 字节 -c (--characters) 字 ...
- 【C语言】将文本中汉字读入字符数组输出乱码
输出中文字符乱码 今天从文件中将中文读入字符数组后输出发现其中文变成了乱码,,令人头大. 解决办法 将文本编码格式改成ANSI即可. 打开记事本->文件->另存为->更改编码格式-& ...
- 如何改变输出方式(让printf输出结果保存到TXT文本中)
查阅相关资料,汇总如下: #include <stdio.h> #include <stdlib.h> int main() { char money= 's'; char a ...
随机推荐
- Vue实战之【企业开发常见问题】
1.vue框架使用注意事项和经验 1.1 解决Vue动态路由参数变化,页面数据不更新 问题描述: 遇到动态路由如:/page/:id 从/page/1 切换到 /page/2 发现页面组件没有更新 解 ...
- 《Head first设计模式》之策略模式
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 假设有一个模拟鸭子的游戏,游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫.这个游戏的内部设计了一个 ...
- 十篇笔记走向Python测试开发之路四(字典)
字典 字典(dict)是Python的一种内置的数据结构.在其他语言中也称为map,使用键-值(key-value)存储,可以通过查找某个特定的词语(键 key),从而找到他的定义(值 value) ...
- C#在窗体中按下鼠标键拖动窗体
[DllImport("user32.dll")]//拖动无窗体的控件 public static extern bool ReleaseCapture(); [DllImport ...
- python 实现 跳一跳游戏 代码解析
这个代码实现的是 手动点击起点 和 终点 ,程序自动判断距离.触屏时间 完成跳跃 原理(摘自项目说明页面):1. 将手机点击到“跳一跳”小程序界面:2. 用Adb 工具获取当前手机截图,并用a ...
- php-fpm.conf.default配置文件
;;;;;;;;;;;;;;;;;;;;; ; FPM Configuration ; ;;;;;;;;;;;;;;;;;;;;; ; All relative paths in this confi ...
- Windows AD日志分析平台WatchAD安装教程
目录 WatchAD介绍 安装环境 WatchAD安装(日志分析端服务) 基础环境配置 安装WatchAD 运行WatchAD WatchAD-web安装(Web监控端服务) 下载WatchAD-We ...
- js—求数组中的最大最小值
参考链接:https://www.w3cplus.com/javascript/calculate-the-max-min-value-from-an-array.html Math.min.appl ...
- Python requests 调Jenkins登录后的接口,返回403Fobidden的原因及解决方法。
因Jenkins启用“防止跨站点请求伪造" 解决方法: 在Manage Jenkins->Configure Global Security 设置中将“防止跨站点请求伪造”取消勾选
- 微软帮助类SqlHelper
using System; using System.Data; using System.Xml; using System.Data.SqlClient; using System.Collect ...