统计文件字符个数 java_Java设计一个统计文件的字符数等信息的程序并进行测试...

本文档详细介绍了使用Java设计的统计文件字符数、单词数、行数等信息的程序,并讨论了输入参数的处理和测试用例的设计。程序分析用户输入,执行相应功能,如统计代码行、空行、注释行等,并提供了多种组合功能的测试案例。
摘要由CSDN通过智能技术生成

‘’github链接:https://github.com/coolzero2/softwaretest.git

补充说明

关于下面贴代码的时候第6.3条,函数传入的参数是一个动态数组arraylist。实际上,这是因为*在myeclipse中是通配符,在ecl自带的run configurations中输入路径比如“d:/*.txt”,会自动检索当前路径下所有符合条件的文件。但是在CMD中则不会自动检索。如果按照6.3的代码,写出的程序打包成exe后是没办法正确运行的。但是这也算是学习到了一些知识,此处就不再删去了。正确的代码将会在本文的最末贴出。

另外关于指令输入的顺序规定,主要是根据老师给出的白盒测试中的那几个例子来的,这也应用到了judge的逻辑判定中。最终正确顺序:-w,-s,-a,-c,-l,-*  输入文件 -e 停用词表 -o 输出文件

第一次写博客,一方面熟悉一下博客的相关操作,另一方面交一下作业。

本程序最大的缺点应该就是全局变量太多了吧(10+个),这样的程序安全性应该会受到影响;

其次就是代码有些繁琐。

要求提交的时间太紧张,先这样凑合了。以后有时间修改一下。

首先说明各种指令的功能:

-a:统计文件中的代码行、空行、注释行;

-c:统计文件中的字符数,不包括换行符;

-w:统计文件中的单词数;

-l:统计文件的行数;

-e:当使用该指令时,指定停用词表,统计文件中的单词数时不再统计停用词表中的内容。

-s:使用该指令时,指定的输入文件应该是一个路径,统计的信息是路径下所有符合要求的文件的信息;当文件只有一个时,其实看做一个特例(也就是上面所说的单纯统计一个文件)。

-o:使用该指令时,指定输出文件,用来保存统计输入文件后输出的信息。

思考的思路

其实也很简单。这个软件的功能就是用户输入了一组信息,在信息输入的格式正确的情况下,将会输出相关信息。编写这个程序可以分为两点:1.分析用户输入的内容。2.根据分析,执行相应功能。

第2点需要再进行细化。

PSP表格

PSP2.1表格

PSP2.1

PSP阶段

预估耗时

(分钟)

实际耗时

(分钟)

Planning

计划

30

10

· Estimate

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

20

10

Development

开发

480

500

· Analysis

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

40

40

· Design Spec

· 生成设计文档

60

30

· Design Review

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

60

30

· Coding Standard

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

0

0

· Design

· 具体设计

50

30

· Coding

· 具体编码

600

500

· Code Review

· 代码复审

60

120

· Test

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

120

100

Reporting

报告

50

120

· Test Report

· 测试报告

60

120

· Size Measurement

· 计算工作量

5

5

· Postmortem & Process Improvement Plan

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

5

5

合计

下面上代码。

1.判断用户输入的信息

这里是各种指令对应的flag,逻辑关系依照作业要求设置。为true的时候代表实现相应功能。

private static voidjudge(String str) {//TODO Auto-generated method stub

if(str.equals("-s")&&s_flag==false){

s_flag=true;

}else if(str.equals("-*")&&star_flag==false){

star_flag=true;

c_flag=true;

w_flag=true;

l_flag=true;

a_flag=true;

}else if(str.equals("-a")&&a_flag==false){

a_flag=true;

}else if(str.equals("-c")&&c_flag==false){

c_flag=true;

}else if(str.equals("-w")&&w_flag==false){

w_flag=true;

}else if(str.equals("-l")&&l_flag==false){

l_flag=true;

}else if(file_flag==false)//还没有指定输入文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值