java实验6 词频统计_java实训一——词频统计
---恢复内容开始---
驾驶员:葛晨延(16012010)
领航员:张广哲(16012007)
码云:https://gitee.com/happywindmannn/GCYshixun1/tree/master
实训过程照片:
1 import java.io.*;2 import java.util.*;3 importjava.io.BufferedReader;4 importjava.io.FileReader;5 importjava.util.ArrayList;6 importjava.util.Map;7 importjava.util.List;8 importjava.util.Map.Entry;9 importjava.util.TreeMap;10 public classwtf{11 public static void main(String args[])throwsException{12 StringBuilder result = newStringBuilder();13 BufferedReader file = new BufferedReader(new FileReader("D:\\javas\\a.txt"));14 List s =new ArrayList();15 String s1 = null;16 while((s1 = file.readLine()) != null){17 String [] s2 = s1.split("[[^a-zA-Z]]");18 for(String s3 : s2){19 if(s3.length() != 0){20 s.add(s3);21 }22 }23 }24 Map TreeMap = new TreeMap();25 for(String s4:s){26 if(TreeMap.get(s4) != null){27 TreeMap.put(s4,TreeMap.get(s4)+1);28 }29 else{30 TreeMap.put(s4,1);31 }32 }33
34
35 System.out.println("以下是本文章中出现单词频率前十的单词,以及频率:\t");36 showmap(TreeMap);37 file.close();38 }39 public static void showmap(Mapoldmap){40
41 ArrayList> map = new ArrayList>(oldmap.entrySet());42
43 Collections.sort(map,new Comparator>(){44
45 public int compare(Entry o1, Entryo2) {46 return o2.getValue() -o1.getValue();47 }48 });49
50 for(int i = 0; i<10; i++){51
52 System.out.println(map.get(i).getKey()+ ": " +map.get(i).getValue());53 }54 }55
56 }
运行结果:
需求:
1.读取文件,文件内包可含英文字符,及常见标点,空格级换行符。
2.统计英文单词在本文件的出现次数
3.将统计结果排序
4.显示排序结果
解题思路:
x代表对象
1.BufferedReader x = new BufferedReader(new FileReader(文件绝对路径));
缓冲流,更加油效率的读取文件,缓冲访问区(类似于内存条)。
另有方法readline()按行读取可以使用。
相比InputStream()字节流,FileReader()字符流更快。
2.List x = new ArrayList();
创建动态数组,<>中的位数组类型,如int,double,String。
该数组用于存储文章的所有单词。
3. String[] x = readLine.split("[^a-zA-Z]");
创建数组,用readLine()逐行过滤,括号内位正则表达式。
4.for(String x:y){}
“增强的for循环”,x为字符串,y为字符数组
作用是将数组内所有元素,赋值到x中,有多少元素创建多少个x。
5.Map x = new TreeMap();
HashMap x = new HashMap();
map树(有序) hashmap哈希表(无序)
存储单词计数信息,Stinrg是key值为单词,Integer是value为词频
map.put(k,v)给表赋值
map.get(key)获取key的value
---恢复内容结束---
java实验6 词频统计_java实训一——词频统计相关推荐
- 用java编程小明地铁_java实训地铁
一.任务与目的 1.1任务 随着计算机技术的不断提高,计算机的发展也日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用.随着快节奏的生活,乘坐地铁已经成为非常实用的交通工具了,有很多优点安全 ...
- java jdbc访问access数据库_Java实训设计----使用JDBC访问Access数据库
运行测试环境 JAVA JDK:j2sdk-1_5_0-beta-windows-i586 集成环境:JCreatorPro_3.50.013_Fix-Georgewing PS:我在自己的机子上成功 ...
- JAVA EE项目开发及应用实训报告——网上考试系统
** JAVA EE项目开发及应用实训 ** 题 目: 网上考试系统 系 别: 专 业: 学生姓名: 学 号: 指导教师: 题目类型:•理论研究 •实验研究 •工程设计 •工程技术研究 软件开发 • ...
- zigbee看门狗综合实验_2.5KW风光互补发电教学实验系统,风能太阳能发电实训装置_搜狐汽车...
一.概述 本产品是集于太阳能发电及风力发电为一体的新型教学实验系统.可完成风力发电和太阳能发电及基站的供电系统集成的相关实验及教学演示.可以帮助学生,进一步理解风力发电及太阳能光伏发电系统的理念.系统 ...
- 基于tutk方案的p2p源码_基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计)...
[实例简介] 基于JAVA的局域网文件共享平台P2P实训项目源码(毕业设计 课程设计). 可直接运行.做毕业设计.课程设计或者想研究下技术的可以下载学习.需要更多资源的可以关注我. [实例截图] [核 ...
- C语言实训 实训项目一 统计歌唱比赛成绩
实训项目一 统计歌唱比赛成绩 有10名选手参加某歌唱比赛,每位选手演唱自己参赛曲目后,7名评委亮出自己的评分,后台人员会去掉最高分和最低分,将剩下的5个值求平均来计算该选手的比赛得分.比赛结束后,将根 ...
- java实验报告可下载_JAVA实验报告.doc
JAVA实验报告.doc 学 生 实 验 报 告 册(理工类)课程名称面向对象程序设计 专业班级16计算机科学与技术(专转本) 学生学号 1613203022 学生姓名 张义丹 所属院部 计算机工程 ...
- java实现潜艇大战(期末实训)
java实现潜艇大战(期末实训作业) package com.util; import java.awt.BorderLayout; import java.awt.Color; import jav ...
- 基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告)
基于javaweb的仓库管理系统(java+springboot+layui+html+thymeleaf+mysql+实训报告) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse ...
最新文章
- 浙大吴飞「舌战」阿里贾扬清:AI内卷与年薪百万,哪个才是真实?
- python处理视频动漫化_用Python实现抖音上的“人像动漫化”特效,原来这么简单...
- centos搭建ftp环境
- iconfont图标_小程序使用 Iconfont 的正确姿势
- 【WPF】拖拽ListBox中的Item
- Android开发如何进阶?
- 贫困地区农品产销对接行动倡议书-中国农民丰收节交易会
- 环境复制_PostgreSQL热备之流复制环境搭建以及常见问题处理
- SpringCloud 02_什么是分布式、多线程、高并发?(浅析)
- HDU5853 Jong Hyok and String(二分 + 后缀数组)
- WordPress文章ajax,使用ajax在WordPress后台删除文章方法
- 在Myeclipse中配置 jboss 图解
- 单调栈与单调队列简单例题
- java quickhit项目_【QuickHit项目实例】
- java fseek_无法使用fseek(C)浏览文件
- add a redfish schema
- 内网IM软件推荐:10分钟快速搭建,支持局域网私有化部署
- python函数调用另外的一个函数
- mysql节点是什么意思_数据库节点是什么意思
- 群晖Docker部署MySQL服务
热门文章
- PyCharm2019.1.1安装(Ubuntu16.04)
- 怎样一次性将一个word文档中所有图片保存
- 漫步数理统计五——条件概率与独立(上)
- 漫步线性代数二十一——行列式引言
- leetcode —— 41. 缺失的第一个正数
- leetcode —— 面试题17. 打印从1到最大的n位数
- leetcode - 467. 环绕字符串中唯一的子字符串
- CentOs基础操作指令(运行级别)
- MySQL之EXPLAIN(索引优化)
- RocketMQ 源码学习笔记 Producer 是怎么将消息发送至 Broker 的?