第一次个人编程作业

1.第一次个人编程作业地址

Github

2.PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划6070
Estimate估计这个任务需要多少时间6070
Development开发840890
Analysis需求分析 (包括学习新技术)180240
Design Spec生成设计文档6040
Design Review设计复审1020
Coding Standard代码规范 (为目前的开发制定合适的规范)3010
Design具体设计2035
Coding具体编码120190
Code Review代码复审1015
Test测试(自我测试,修改代码,提交修改)2025
Reporting报告1015
Test Repor测试报告1510
Size Measurement计算工作量516
Postmortem & Process Improvement Plan事后总结, 并提出过程改进计划515
合计14551661

3.解题思路

  • 使用正则表达式提取电话号码,并在原字符串中删除,
  • 在根据“,”提取姓名,
  • 在根据各级地址,进行地址拆分,
  • 地址拆分采用正则表达式的方法,
  • 进行地址拆分时,对一些特殊情况如:直辖市,进行特殊处理。
  • 由于不会正则表达式就用了一些时间学习了正则表达式,

4.设计实现过程

  • 我所使用的各类函数

    main() 主函数
    searchnumber() 返回电话号码
    searchprovincer() 返回省级
    searchcity() 返回市级
    searchcounty() 返回县级
    searchtown() 返回街道、镇…
    searchroad() 返回路、巷…
    searchdoornum() 返回门牌号

  • 用主函数调用其他函数,对所输入的字符串进行处理。
  • 其他函数采用正则表达式的方法对字符串进行处理。

5.程序性能

程序性能分析图

1794616-20190917223159846-850731336.png

覆盖率图片

1794616-20190917233312523-357883555.png
1794616-20190917233320175-512301851.png

6.关键代码

我的关键代码就是正则表达式,其他都是一些比较不重要的代码,但是其他代码也是很多啊

正则表达式
String REGEX="((13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8})"; 查找电话
String REGEX="([^,]+,)"; 查找姓名
String REGEX="([^省]+自治区|.?省|.?行政区|.?市)"; 查找省级
String REGEX="([^市]+自治州|.
?地区|.?行政单位|.+盟|市辖区|.?市|.*?县)"; 查找市级
String REGEX="(?[^县]+?县|.+?区|.+?市|.+?旗|.+?海域|.+?岛)"; 查找县级
String REGEX="([^镇]+?镇|.+?街道|.+?乡)"; 查找镇级
String REGEX="([^路]+?路|.+?街|.+?巷)"; 查找路...
String REGEX="([^号]+号)"; 查找门牌号

7.异常处理

  • 开始设计的程序无法正确处理直辖市
  • 将直辖市单独提出来特殊处理。
  • 对于一些比较特殊的地名,例如:北京市东城区人民法院,处理出错,
  • 改进了一些正则表达式,消除了这个问题

8.心理路程

  • 经过这一次编程作业,我学习了Java和正则表达式
  • 学会了一些软件的使用
  • 几天学完Java的感觉很爽,我觉得比高考还累,跟期末考试一样累
  • 但是总体而言,学有所得,感觉还是不错的。

转载于:https://www.cnblogs.com/lyhtsl/p/11531982.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值