课堂测试三

package word_show;

import java.io.*;
import java.util.*;
import java.util.Map.Entry;

public class word3 {
public static int n=0;
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String s;
int count=0;
int num=1;
//作为FileReader和FileWriter读取的对象
String file1="D:\\QQ Download\\java\\piao_english.txt";
String file2="D:\\QQ Download\\java\\max_num.txt";
try
{
BufferedReader a=new BufferedReader(new FileReader(file1));
BufferedWriter b=new BufferedWriter(new FileWriter(file2));
StringBuffer c=new StringBuffer();
//将文件内容存入StringBuffer中
while((s = a.readLine()) != null)
{
//用于拼接字符串
c.append(s);
}
//将StringBuffer转换成String,然后再将所有字符转化成小写字符
String m=c.toString().toLowerCase();
//匹配由数字和26个字母组成的字符串
String [] d=m.split("[^a-zA-Z0-9]+");
//遍历数组将其存入Map<String, Integer>中
Map<String , Integer> myTreeMap=new TreeMap<String, Integer>();
for(int i = 0; i < d.length; i++) {
//containsKey()方法用于检查特定键是否在TreeMap中映射
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());
}

});

for(Map.Entry<String, Integer> map : list) {
if(true) {
//按内容输出到指定文件中去
b.write("出现次数第" + num + "的单词为:" + map.getKey() + ",出现频率为" + map.getValue() + "次");
b.newLine();
System.out.println(map.getKey() + ":" + map.getValue());
num++;
}
else break;
}
a.close();
b.close();
}
catch(FileNotFoundException e)
{
System.out.println("找不到指定文件");
}
catch(IOException e)
{
System.out.println("文件读取错误");
}
System.out.println("输出完成");
}
}

日常Java测试 2021/11/14的更多相关文章

  1. 2021.11.14 CF1583E Moment of Bloom(LCA+图上构造)

    2021.11.14 CF1583E Moment of Bloom(LCA+图上构造) https://www.luogu.com.cn/problem/CF1583E 题意: She does h ...

  2. 日常Java测试第一段 2021/11/12

    课堂测试一 package word_show;import java.io.BufferedReader;import java.io.FileNotFoundException;import ja ...

  3. 日常Java测试第二段 2021/11/12

    第二阶段 package word_show; import java.io.*;import java.util.*;import java.util.Map.Entry; public class ...

  4. Java——异常处理---18.11.14

    异常时程序中会有一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的. 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误 java.lang.Error: 如果你用 System ...

  5. 日常Java 2021/11/18

    用idea实现Javaweb登录页面 <%-- Created by IntelliJ IDEA. User: Tefuir Date: 2021/11/18 Time: 18:14 To ch ...

  6. Java自动化测试框架-11 - TestNG之annotation与并发测试篇 (详细教程)

    1.简介 TestNG中用到的annotation的快速预览及其属性. 2.TestNG基本注解(注释) 注解 描述 @BeforeSuite 注解的方法只运行一次,在当前suite所有测试执行之前执 ...

  7. 日常Javaweb 2021/11/19

    Javaweb Dao层: //连接数据库,实现增查功能 package dao; import java.sql.Connection; import java.sql.DriverManager; ...

  8. Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本

    Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本 前言 序言 再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点. 适合阅读人群 J ...

  9. JavaSE_ API常用对象 总目录(11~14)

    JavaSE学习总结第11天_开发工具 & API常用对象111.01 常见开发工具介绍11.02 Eclipse和MyEclipse的概述11.03 Eclipse的下载安装及卸载11.04 ...

随机推荐

  1. 21.10.18 test

    可可大神出题,四款有趣的游戏推荐,第四个好玩/se T1 loopers \(\color{green}{100}\) 考虑钦定 \(a_1,a_i\) 的位置,固定左边一坨,那么剩下的一坨的 \(\ ...

  2. 【行人惯性导航】关于行人导航中IMU位姿推导的知识点及相关代码

    IMU姿态惯性推导 最近从事行人惯性导航的研究,本人也是一个小白,其中看了很多文献,有很多个人思考很费时间的地方,撰写此随笔的目的不仅是给自己做一个笔记,也是给各位有需要的仁兄一点个人理解. 本文只关 ...

  3. fd定时器--timerfd学习

    定时器 可以用系统定时器信号SIGALARM 最近工作需要于是又发现了一个新玩意timerfd配合epoll使用. man 手册看一下 TIMERFD_CREATE(2) Linux Programm ...

  4. 连续子序列的最大和 牛客网 剑指Offer

    连续子序列的最大和 牛客网 剑指Offer 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量 ...

  5. Python pylint requires Python '>=3.4.*' but the running Python is 2.7.12

    用pylint 1.9.x 安装 pip install pylint==1.9.3. 或者换源 pip install -i https://pypi.tuna.tsinghua.edu.cn/si ...

  6. char* 和 char[] 的区别

    一.代码 有关下面代码,p和q的区别是什么: int main(int argc, char *argv[]) { char* p = "Hello World"; char q[ ...

  7. JDK源码阅读(5):HashTable类阅读笔记

    HashTable public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, ...

  8. appium环境搭建基于安卓(mac系统)

    1.需要环境 JDK Python Andriod SDK Node.js Appium Appium-Python-Client Appium-doctor 2.安装jdk(我的版本是1.8) 下载 ...

  9. More Effective C++笔记(二)

    三.异常 条款9:利用destructor避免泄露资源 把资源封装在对象内,通常可以在exception出现时避免资源泄露 条款10:在构造函数内阻止资源泄露 C++仅仅能删除被完全构造的对象(ful ...

  10. go微服务框架Kratos笔记(六)链路追踪实战

    什么是链路追踪 借用阿里云链路追踪文档来解释 分布式链路追踪(Distributed Tracing),也叫 分布式链路跟踪,分布式跟踪,分布式追踪 等等,它为分布式应用的开发者提供了完整的调用链路还 ...