java个人项目_个人项目(java实现)

一、github地址

二、PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

50

40

Estimate

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

50

40

Development

开发

1160

1300

Analysis

· 需求分析

60

50

Design Spec

· 生成设计文档

80

90

Design Review

· 设计复审

50

70

Coding Standard

· 代码规范

50

30

Design

· 具体设计

80

90

Coding

· 具体编码

700

800

Code Review

· 代码复审

80

90

Test

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

60

80

Reporting

报告

140

160

Test Report

· 测试报告

60

80

Size Measurement

· 计算工作量

40

30

Postmortem & Process Improvement Plan

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

40

50

Total

合计

1350

1500

三、解题思路

浏览完项目需求后,自己大概有了个方向,有点像java课设(文本编辑器),也是有统计的东西,还有打开文件。想到这些,自己就决定用java来实现这个WC.exe的功能。

1、基本功能的实现

基本功能主要是实现字符数,单词数和行数的统计,主要是正则表达式的使用和文件的读取,将输入的文件与正则表达式结合,自己主要要去复习之前学习的IO流和正则表达式。

2、扩展功能的实现

空行还有注释行这些同样是可以通过正则表达式来完成,只是可能需要绕一绕比如注释的方式有两种。自己主要是对于递归下的文件这个有些无从下手,自己对file类了解得并不透彻,花了很多时间去了解它的各种方法实例。

3、高级功能的实现

图形化界面主要用JFrame来实现,将界面和主程序连接起来就行。

由上面的想法自己可以决定要写三个类,主程序、功能和界面,然后分别实现测试。先是完成主要框架,设定好命令行的样式,想好自己想要什么样子的效果,做好设计文档,然后分别实现一个一个功能,每个功能进行测试。

四、设计实现过程

整个程序用到的类和方法

4d1f6ad0fcfc47612e45ab4fcc31553d.png

五、测试运行

test文件夹有一个文件夹test1和3个.java文件,1.java是有代码的,2.java是只有2个字符的,3.java是空文档

3fe6a3da61f143bd8b4e0060ab207fb2.png

test1文件夹里有一个4.java文件

12b18e33779d798bdea0503009442854.png

1、基本功能的实现(-c -w -l)

(1)测试文件为1.java

ddada163f3ac72e7832c3372f890668c.png

0bfe526bd6e902d4b40ff08b5028e3d9.png

(2)测试文件为3.java(空文档)

72601fc78b10ca0c362ae7f224ac2e6a.png

2、扩展功能的实现

(1)-s 的实现,测试文件夹为test

146feffd462b77046b9671782e11ab0f.png

(2)-a 的实现(代码行 / 空行 / 注释行)测试文件为1.java

02d5501eed7635f34c95bf29ab4bf828.png

3、 高级功能的实现

b6384c11a45c90397d0aabc5db310dc8.png

78a6a55e16e89cb8537cd92d0a428354.png

4、使用说明

4ffc429463a23362c063dacff5a3cbde.png

本程序共有三个类,Frame、Function和main,运行程序时只需运行main程序,之后的操作主要看命令行的提示,输入-e即可退出程序

02ed215a0d8d23a5e507f04b6cb12ffa.png

六、总结

通过本次个人项目的进行,自己深刻意识到自己的不足,很多一些本该掌握的知识因为没有经常出复习而导致自己遗忘掉了,因此自己写这个项目的时候大部分时间花费在了重新学习上。自己之前的学习又不够透彻,导致很多的类和方法自己是不知道的或是没有去用过的,这样子自己的思维就会一直固定在之前的水平,能想到的方法只能通过自己仅有的知识来执行,而不会变通。但在这个过程中自己也收获了很多,虽然写出来的代码不是很完善,但发现自己不足去补回来的这个过程同样是一次新的学习,能学到之前并不清楚的知识,比如PSP表格让我更加了解整个项目的具体的流程等。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值