(2016春) 作业4:结对编程—词频统计
2016-03-17 22:29
357 查看
作业4:结对项目—— 词频统计
0. 时间/计分
总分40 分提交分2 阶段:
第一阶段提交[必做1],截止时间 2016-03-22,24点;
第二阶段提交[必做2]、[选做1]、[选做2],截止时间2016-03-29,24点。
PS: 必做题 每个阶段必须提交;选做题不做强制要求。
1. 目标
代码复审练习结对练习
编写单元测试
2. 要求
[必做 1] 基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。 (第一阶段初稿完成该要求)命令行格式: 提示符> Myapp.exe -f filename.txt > Result.txt (PS:C++ 程序,Java 程序输出方式类似) filename.txt 为前面下载的文件名。PS: 命令行格式的程序编写参考
解释:
选项 -f 表示后面跟文件名
输出格式规定(参考作业3中的示例):
首先按照频率由高到低排序
频率一样的词, 按照字典顺序排序
此外, 读取一个较大的文本文件Gone_with_the_wind.txt实验对比程序执行效率,做如下改进,比较改进前后程序执行时间。PS: 请看一位同学做的效能分析示例。
原先程序中循环部分如下:
for (int i = 0; i < infoIds.size(); i++) { Entry<String, Integer> id = infoIds.get(i); System.out.println(id.getKey()+":"+id.getValue()); }
改进后程序如下:
len= infoIds.size(); // 先计算 for (int i = 0; i < len; i++) { Entry<String, Integer> id = infoIds.get(i); System.out.println(id.getKey()+":"+id.getValue()); }
[必做 2] 读取小文本文件A_Tale_of_Two_Cities.txt 或者 大文本文件Gone_with_the_wind.txt,统计某一指定单词在该文本文件中出现的频率。
命令行格式: 提示符> Myapp.exe -f filename.txt -w word (PS:C++ 程序,Java 程序输出方式类似)
解释:
选项 -f 表示打开某一文件(filename.txt)
选项 -w 表示统计其后单词(word)在打开的文件(filename.txt)中的频率。
[选做 1] 对于在指定目录下(递归)的所有的文本文件(例如扩展名为:"txt", "cpp", "h", "cs", "java"等),计算每个单词的出现频率,并将结果输出到一个文本文件
命令行格式: 提示符> Myapp.exe -d directory-name > result.txt (PS:C++ 程序,Java 程序输出方式类似)
解释:
选项 -d 表示后面跟目录(path)
[选做 2] 写至少10个单元测试,确保程序结果正确(例如,对于空目录应该输出空)
3. 提交
特别要求:博客开头描述: 结对的对象( 1. 博客地址 ,2. 编写系统的Github 链接, 3.双方的贡献比例, 4. 结对编程照片(证据))
博客总结部分,写出你在结对编程过程是不是遇到困难,双方沟通怎么沟通的?你的心得、收获等。
其它要求 同作业3
4. 定义
同作业3 要求相关文章推荐
- 面向对象编程(五)多态--对象上下转型,动态绑定和静态绑定,应用
- 合并排序
- 面向对象编程(三)封装--包
- 掌握Java字节码(转)
- 面向对象编程(二)封装--构造方法,this关键字,static关键字,方法重载
- 设计模式C++学习笔记之二(Proxy代理模式)
- Java遇见HTML——JSP篇之JSP状态管理
- Spring之AOP
- Java技术_Java千百问(0006)_如何用记事本编写Java程序
- Java面向对象03-对象内存管理,继承的意义
- Python Version 2.7 requires , which was not found in the registy 问题解决
- c++异常详解
- 设计模式C++学习笔记之一(Strategy策略模式)
- PHP session文件锁住及解决
- Eclipse中给jar包导入JavaDoc的方法
- Python中subprocess学习
- C++ explicit关键字
- Java---软件试用次数(Properties类的简单使用)
- Java---软件试用次数(Properties类的简单使用)
- Java CopyOnWriteArrayList 源码分析