博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
结对编程项目-四则运算 挑战出题
阅读量:5234 次
发布时间:2019-06-14

本文共 1412 字,大约阅读时间需要 4 分钟。

20162325金立清 结对编程项目-四则运算 挑战出题

目录

一、需求分析

  • 通过命令行参数形式指定题目要求
  • 题目去重

二、设计思路

本周任务是给题目去重,方法是每生成一个题目,判断结果,将结果放入list中,接下来的题目答案如果与列表中的元素有相同,就重新生成题目。

UML类图

1062634-20170604220738149-1539675820.png

三、实现过程中的关键代码解释

  • 去重代码
for (int i=0;i
= 0) { i--; }else { list.add(result); iof.WriteQuestionsToFile(expr + "\r\n"); }}

ListindexOf方法,返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。如果返回值大于等于0,说明重复,那么i自减一,继续循环;如果返回值小于0,没有重复,那么把结果加入列表,再把题目写入文件。

四、测试方法

前四个测试还能进行,到10000题就崩溃了。

  • 去重

    1063734-20170604194524524-554740060.png
    1063734-20170604194742180-4695492.png
    1063734-20170604194748289-1595264450.png
    1063734-20170604194753118-1834879635.png
    1063734-20170604194757618-169186834.png

  • 无去重

    1063734-20170604202000227-1876898195.png

1063734-20170604202013071-257135458.png

1063734-20170604202028227-1187239747.png
1063734-20170604202044211-246864571.png
1063734-20170604202057289-1330528237.png
1063734-20170604202110758-1879021371.png
1063734-20170604202121211-1030922313.png

五、运行过程截图

  1. 在IDEA中运行,先设置参数

    1063734-20170604195354461-1653209577.png

  2. 然后运行程序

    1063734-20170604195502243-112985467.png

  3. 运行成功后,会生成相应的txt文件

    1063734-20170604195557930-674158999.png

  4. 打开后可以看到题目

    1063734-20170604195642883-1754760853.png

  5. 在命令行下编译运行

javac -d bin src/*.javacd binjava ExpressionGenerator 

1063734-20170604202851321-1483866855.png

六、代码托管地址

七、遇到的困难及解决方法

  • 问题1:运行检测工具的时候加载不出
  • 解决办法:
    1062634-20170604213736711-1197377141.png

八、对结对的小伙伴的评价

  • 结对伙伴

一开始试着思考如何去重题目,但半天毫无头绪,最终还是由搭档完成编码,再把思路讲解给我听,我则负责把之前的代码复制过来进行修改,如把可执行的入口类改名为ExpressionGenerator等,还向搭档学习了页内Markdown格式。

  • 打分:70分
  • 依据:代码主要是搭档写的

九、PSP

PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
Planning 计划
· Estimate · 估计这个任务需要多少时间 0.5 0.5
Development 开发
· Analysis · 需求分析 (包括学习新技术) 2 4
· Design Spec · 生成设计文档 1.5 1
· Design Review · 设计复审 (和同事审核设计文档) 1 1
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 0.5 1
· Design · 具体设计 2 3
· Coding · 具体编码 2 4
· Code Review · 代码复审 1 2
· Test · 测试(自我测试,修改代码,提交修改) 1 1.5
Reporting 报告
· Test Report · 测试报告 1 1
· Size Measurement · 计算工作量 0.5 0.5
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 0.5 0.5
合计 13.5 20

转载于:https://www.cnblogs.com/JXY6996/p/6942103.html

你可能感兴趣的文章
bzoj 2005 & 洛谷 P1447 [ Noi 2010 ] 能量采集 —— 容斥 / 莫比乌斯反演
查看>>
P1631 序列合并
查看>>
Luogu_4886 快递员
查看>>
内存优化文章链接
查看>>
ext4.0 代理 的使用
查看>>
数据检查约束类型和语法
查看>>
AngularJS实战之路由ui-view
查看>>
使用jQuery+huandlebars防止编码注入攻击
查看>>
C#的托管与非托管大难点
查看>>
[转]HTTPS简谈
查看>>
(图片)jsp上传图片,进行缩放处理
查看>>
集合类List,set,Map 的遍历方法,用法和区别
查看>>
HDU-2577-How to Type
查看>>
java日志框架之logback——布局详细说明书地址
查看>>
Java Selenium (十二) 操作弹出窗口 & 智能等待页面加载完成 & 处理 Iframe 中的元素...
查看>>
Scala入门系列(十):函数式编程之集合操作
查看>>
pulseaudio的交叉编译
查看>>
(Problem 7)10001st prime
查看>>
Cracking The Coding Interview 1.1
查看>>
mysql安装linux_二进制包安装
查看>>