个人项目-WC-Java
一、GitHub地址:https://github.com/NuotaSuo/WC-JAVAWC项目相关要求:wc.exe 是一个常见的工具,它能统计文本文件的字符数、单词数和行数。这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数、单词数和行数。 相关功能:基本功能: ? -c 统计文件字符数 ?-w 统计文件词数? ?-l 统计文件行数 扩展功能: ?-s 递归处理目录下符合条件得文件 ?-a 返回文件代码行 / 空行 / 注释行 ?支持各种文件的通配符(*,?) 高级功能 基本的Windows GUI 程序操作 二、PSP表:?
三、解题思路程序设计有五个类,WC类为主类,它们的调用关系: ? 在主类WC中接收用户输入的命令,判断相对应的命令,从而决定调用相应的类。 在一开始接触这个项目的时候,我觉得 基础功能 -c -l -w 这功能比较简单,java课程也实现过,通过BufferedReader( )类里面的相关函数对文件进行读取并判断执行相应的操作,实现较简单。GUI图形界面的因为之前也接触过,做起来顺手,搭建出基本面板后调用Basic类和Extend类通过对JTextArea.setText( )函数对内容进行更改显示。我觉得比较难的是-s 的?递归处理目录下符合条件的文件,因为涉及递归、通配符,所以我一开始想得复杂,没有很好的思路去实现,后来有了思路去递归获取目录中符合条件的文件,再去对每个文件进行统计输出,得以实现。 四、运行测试在cmd中进入WC所在目录,打开程序: ? ? ?基础功能与扩展功能 -a ? ? ?扩展功能 -s 文件目录: ? ? 结果: ? ? ?图形界面GUI? -x ? ? ? ?四、个人总结:在我开始做项目前,我阅读了《构建之法》的前三章,学习了Git和Github,Git是一款很多人都在用的版本控制系统,可惜我没能够运用好Git和Github,没能做好有新功能就commit,但在做项目的过程中我知道了版本控制的重要,在GUI的实现中,我不知道修改了什么参数,导致面板无法显示并卡死,但eclipse并没有报错,我反反复复修改了半小时也没有改变,幸好我有备份文件的习惯,返回了上次最后修改的部分,这个小例子让我明白了版本控制的重要,以后我会多用Git和Github进行项目托管开发。 这次的开发也让我知道了软件工程的流程,前期的需求分析,大概框架的搭建,估计流程与测试的重要性,减低软件后期维护的困难程度,前期所要做的工程不必编码小,也是十分重要的。因为我没有大项目的开发经验,所以这一次的个人项目对我也是有挑战的,以后我会更加努力提高自己的编程能力。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 通过二叉搜索树迭代找到所有的树叶
- 使用jetty实现小型的Servlet服务器
- java – 不同的“getDocumentElement”和“getFirstChild”
- java – Jenkins如何查找给定的从服务器是否正在运行作业
- java – 使用iText在Web浏览器中显示PDF文件
- 如何在角度2中跟踪挂起的HTTP请求
- java – asyncHttpClient没有onSuccess或onFailure运行
- java – Log4j – 仅过滤当前项目的日志
- Java 逻辑运算符中&&与&,||与|的区别
- java – implements子句是否也可继承?