探索软件工程道路上的我 IV (Θ∀Θ#)
开发语言:Java
开发工具:UltraEdit
小伙伴博客:http://www.cnblogs.com/hyating/
github地址:https://github.com/JUNYU217/2016-03-08
|| 为月末了,网费欠了...很抱歉的拖了那么久的作业 QAQ ||
------个人小结------
通过这次作业,我学习了文件流的使用,也感谢小伙伴的帮忙,给了我构思的框架
------作业要求------
基于作业3的结果,读取一个较小的文本文件,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。 (第一阶段初稿完成该要求)
- 首先按照频率由高到低排序
- 频率一样的词, 按照字典顺序排序
- 详情戳这!
------程序编写------
这次的作用基于第三次作业上有所改动,具体方法在代码中体现
首先感谢我的舍友苗中锋提供给我的排序算法,我一直纠结了好久,通过键排序,通过值排序一直达不到排序的要求
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort( list, new Comparator<Map.Entry<String, Integer>>()
{
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2)
{
if(o1.getValue()<o2.getValue())
return 1;
else if(o1.getValue()>o2.getValue())
return -1;
else
return(o1.getKey().compareTo(o2.getKey()));
}
} );
排序后,通过java中 io 提供的方法完成了输出
File outfile = new File("D:\\Software\\SorfwareTest\\Result.txt");
try
{
if (file.exists()) outfile.delete();
BufferedWriter bw = new BufferedWriter(new FileWriter(outfile));
StringBuffer out = new StringBuffer();
for(Map.Entry<String,Integer> mapping:list)
{
out.append(mapping.getKey()+":"+mapping.getValue()+"\r\n");
}
bw.write(out.toString());
bw.flush();
bw.close();
}
catch (IOException e)
{
e.printStackTrace();
});
------程序运行------
未编译前


在编译和运行后产生了 Result.txt

打开Result.txt,结果是正确的~

探索软件工程道路上的我 IV (Θ∀Θ#)的更多相关文章
- 探索软件工程道路上的我 V (Θ∀Θ#)
开发语言:Java 开发工具:UltraEdit 小伙伴博客:http://www.cnblogs.com/hyating/ github地址:https://github.com/JUNYU217/ ...
- 探索软件工程道路上的我II (Θ∀Θ#)
------作业要求------ 第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数 ...
- 探索软件工程道路上的我III (Θ∀Θ#)
github地址:https://github.com/JUNYU217/2016-03-08 开发语言:Java 开发工具:UltraEdit || 为月末了,网费欠了...很抱歉的拖了那么久的作业 ...
- 软件工程线上课程(C语言实践篇)学习心得总结
林牧 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程http://mooc.study.163.com/course/USTC-1000002006 软件工程的理 ...
- VR电影这一新概念在中国电影道路上的探索
在12月的一个下午,Kevin Geiger正在进行关于VR中的故事讲述的一次再普通不过的演讲.地点是北京电影学院里一个围的水泄不通的场馆,他鼓励大家都来参与电影制作,无论是导演.演员还是电影行业的任 ...
- 规划(纪念我在ACM道路上的一年)
现在已经是晚上一点了,我早早的躺在床上,不能入睡,因为睡觉前看了一下我们学校今年区域赛的成绩总结,派出八次队伍,七个铜-- 再加上这两天ACM迎新杯的筹备过程的问题,让我产生了深深的思考-- 去年司老 ...
- CLR探索应用程序域世界(上):Windbg SOS剖析揭示域世界
在CLR的世界中,有一系列的令人Amazing的技术和架构.其中,CLR对应用程序在内存中内存分配,执行模型,程序之间的交互等一系列的技术,值得每一个致力于DotNet平台的技术人员深究. 编程人员在 ...
- Python图形编程探索系列-04-网上图片与标签组件的结合
跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...
- Linux下安装pip(遇到了python2.6升级为python2.7道路上的坑,原因已经找到,只差临门一脚了,以后补上)
1.先说一下什么是pippip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具2.下面介绍怎么 ...
随机推荐
- Windows安装MySQL5.7.17
1. 在MySQL官网 http://dev.mysql.com/downloads/mysql/ 上面下载ZIP安装包(第二个:Windows (x86, 64-bit), ZIP Archive) ...
- 实际项目中的一个angularjs 应用
实际需求:通过下拉框,选择自己需要的类型,创建元素(要求必须是输入点击保存了才能出现对应的类型块) html代码: <div class="list-panel-data"& ...
- js语法重点
1:最新的ES6规范引入了新的数据类型Map:var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);m.get('Michael ...
- oracle Net Manager 服务命名无法配置(无法新建、添加服务名)
今天在配置oracle Net Manager 配置服务命名的时候总是无法配置,以前配置的服务名都显示不出来,然后点击绿色添加按钮也没反应,因为先前我修改了oracle\product\10.2.0\ ...
- MySql学习(三) —— 子查询(where、from、exists) 及 连接查询(left join、right join、inner join、union join)
注:该MySql系列博客仅为个人学习笔记. 同样的,使用goods表来练习子查询,表结构如下: 所有数据(cat_id与category.cat_id关联): 类别表: mingoods(连接查询时作 ...
- Oracle连接数据库的封装类OracleDB
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- TEA(Tiny Encryption Algorithm)
简介 TEA是一种简单高效的加解密算法,以速度快,实现简单著称.TEA算法每一次可以操作64-bit数据,采用128-bit作为key,算法采用迭代的形式,推荐的迭代轮数是64,最少32. 代码(默认 ...
- P53 T3
为方便旅客,某航空公司拟开发一个机票预定系统.旅行社把预定机票的旅客信息(姓名.性别.工作单位.身份证号码.旅行时间.旅行目的地等)输入进入该系统,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起 ...
- 基于内存,redis,mysql的高速游戏数据服务器设计架构
转载请注明出处,欢迎大家批评指正 1.数据服务器详细设计 数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和修改. 数据层次上分为:内存数据,redis数据,mysql数据 设计目的: ...
- MYSQL低权限读文件
技巧:Reading files in MySQL with file_priv = no. 当用户无权限调用load_file()函数的时候可以用以下方式读取文件内容: 1.建立test(不分配fi ...