您的位置:首页 > 编程语言

结对编程项目-四则运算 挑战出题

2017-06-04 21:42 281 查看

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

目录

需求分析

设计思路

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

测试方法

运行过程截图

代码托管地址

遇到的困难及解决方法

对结对的小伙伴的评价

PSP

一、需求分析

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

题目去重

返回目录

二、设计思路


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



UML类图




返回目录

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

去重代码

for (int i=0;i<count;i++) {
expr = mq.getExper(level);
result = calculator.evaluate(nts.conversion(expr));
if(list.indexOf(result)>= 0) {
i--;
}else {
list.add(result);
iof.WriteQuestionsToFile(expr + "\r\n");
}
}

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

返回目录

四、测试方法


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



去重











无去重















返回目录

五、运行过程截图

在IDEA中运行,先设置参数



然后运行程序



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



打开后可以看到题目



在命令行下编译运行

javac -d bin src/*.java
cd bin
java ExpressionGenerator <number-of-expressions> <number-of-operator> <output-file-path>




返回目录

六、代码托管地址

码云地址

返回目录

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

问题1:运行检测工具的时候加载不出

解决办法:JDK安装与环境变量配置



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

结对伙伴20162311张之睿的博客


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



打分:70分

依据:代码主要是搭档写的

返回目录

九、PSP

PSP2.1Personal Software Process Stages预估耗时(小时)实际耗时(小时)
Planning计划
· Estimate· 估计这个任务需要多少时间0.50.5
Development开发
· Analysis· 需求分析 (包括学习新技术)24
· Design Spec· 生成设计文档1.51
· Design Review· 设计复审 (和同事审核设计文档)11
· Coding Standard· 代码规范 (为目前的开发制定合适的规范)0.51
· Design· 具体设计23
· Coding· 具体编码24
· Code Review· 代码复审12
· Test· 测试(自我测试,修改代码,提交修改)11.5
Reporting报告
· Test Report· 测试报告11
· Size Measurement· 计算工作量0.50.5
· Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划0.50.5
合计13.520
返回目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: