个人作业1 WordCount

一.github链接 :https://github.com/Adogssky/WordCount

 

二.PSP表格:

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

   

· Estimate

· 估计这个任务需要多少时间

 795  830

Development

开发

   

· Analysis

· 需求分析 (包括学习新技术)

 120  120

· Design Spec

· 生成设计文档

 30  30

· Design Review

· 设计复审 (和同事审核设计文档)

 0  0

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 15  10

· Design

· 具体设计

90   90

· Coding

· 具体编码

 180  200

· Code Review

· 代码复审

 60  60

· Test

· 测试(自我测试,修改代码,提交修改)

 120  140

Reporting

报告

   

· Test Report

· 测试报告

 60  60

· Size Measurement

· 计算工作量

 60  60

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 60  60
 

合计

 795  830

 

三.解题思路

先思考怎么接收参数,采取args接收参数之后再使用读行来计算行数,读行的长度来计算字符数,将行按分隔符分割之后计算单词数

 

四.程序设计

除主函数外分成五个类

分别是

参数的处理类

文件写入类

读行类

读字符类

读单词类

 复杂行读取类

五.代码说明

首先是部分全局变量,以及输入参数的初始状态的设置。

这是参数处理部分,从args接收参数之后将初始参数状态改为true。

 

 

此为读字符部分,字符数量即为每行长度(不知为何代码在本地push上去之后格式出错,多次push结果不变,也就不了了之。)

这是读行数和单词数部分,单词数即为将行按照分割符号分割之后的数量。

读复杂行部分,将每行string转为char数组后,检测是否为空行,是则空行数加一,否则再判断是否为注释行,是则注释行数加一,否则代码行数加一。

写文件部分

主函数,多参数的分别调用以及写入文件的content构造。

停用表部分完成,采用分别读取停用表文件和原文件再比较来计算停用词,注意要在遇到停用词之后将其置为空,避免重复。

 

更多代码请看github

 

 六.测试设计

file.c

 

stoplist.txt

 

 

 -l file.c

-w file.c

-c file.c

-a file.c

-l -w -c -a file.c

-l -w -c -a file.c -o result2.txt

-w file.c -e stoplist.txt

-w file.c -e stoplist.txt -o result2.txt

 

 

 

七.参考文献

java读取文件的几种方式 http://blog.csdn.net/actionzh/article/details/77587573

java字符串字符转化 http://blog.csdn.net/u014800380/article/details/52994913

java写入文件 https://www.cnblogs.com/XiOrang/p/5652875.html

 

 

 

 

posted @ 2018-03-20 15:01  一狗先森  阅读(123)  评论(1编辑  收藏  举报