GitHub地址:https://github.com/SummerinSolstice/Word-Counter

wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目实现了一个命令行程序,模仿已有wc.exe 的功能,实力所限只完成了基础功能,给出某程序设计语言源文件的字符数、单词数和行数。

基本功能列表:

  • wc.exe -c file.c       //返回文件 file.c 的字符数
  • wc.exe -w file.c      //返回文件 file.c 的词的数目  
  • wc.exe -l file.c        //返回文件 file.c 的行数

PSP2.1表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

10

15

Estimate

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

10

10

Development

开发

355

520

Analysis

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

200

300

Design Spec

生成设计文档

10

15

Design Review

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

10

20

Coding Standard

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

10

10

Design

具体设计

20

30

Coding

具体编码

60

90

Code Review

代码复审

15

10

Test

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

30

25

Reporting

报告

20

20

Test Report

测试报告

10

10

Size Measurement

计算工作量

10

10

Postmortem&Process Improvement Plan

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

30

45

合计

445

610

拿到题目的时候很懵,对编程语言都不是熟悉,Java的话面向对象的特性使得他便于操作,所以最后选择了用Java来写,但是Java的API我又不熟悉,所以大部分的时候都是在尝试各个API的用法,好多要注意的点都是慢慢摸索出来的。

思路:使用input得到目标文件的路径,若输入错误路径则抛出错误,然后再传进FileReader类里面,用BufferedReader创建一个对象,定义一个string存放.readline,把文件的内容逐行放进去一个字符串里面,再对该字符串逐个字符检查,遇到空格就词数+1,每使用一次readline就行数+1,每行的字符数就是String.length - 字符数 + 1,如图:

实验截图:

test1:empty

test2:a char

test3:a word

test4:a sentence

test5:a java source

总结:这次工程让我学到了很多东西:对于Java的熟悉程度,软件工程开发的流程,这是我第一次系统的做出一个工程,期间碰到好多问题,一开始引用readline每一行第一个字符都会消失,找了好久才知道每次read过后指针都会指向下一个(就是第二个)字符,所以才读不出来第一个字符,经过这次练习之后,我对软件开发的流程有了个初步的认识,以后一定要做好准备工作再动手,不然过程中就会手忙脚乱。

猜你喜欢

转载自www.cnblogs.com/3116005205zkl/p/9649757.html