个人作业1 WordCount

本文介绍了一个WordCount程序的设计与实现,包括需求分析、设计文档、编码及测试等过程,并提供了详细的PSP表格记录。该程序能够接收不同类型的参数,如行数、单词数等,并能处理复杂的文件内容。

一.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.youkuaiyun.com/actionzh/article/details/77587573

java字符串字符转化 http://blog.youkuaiyun.com/u014800380/article/details/52994913

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

 

 

 

 

转载于:https://www.cnblogs.com/yigouxiansen/p/8609338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值