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

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

目录

一、需求分析

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

返回目录

二、设计思路

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

UML类图
1062634-20170604220738149-1539675820.png

返回目录

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

  • 去重代码
 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");
            }
}

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/*.java
cd bin
java ExpressionGenerator <number-of-expressions> <number-of-operator> <output-file-path>

1063734-20170604202851321-1483866855.png

返回目录

六、代码托管地址

返回目录

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

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

一开始试着思考如何去重题目,但半天毫无头绪,最终还是由搭档完成编码,再把思路讲解给我听,我则负责把之前的代码复制过来进行修改,如把可执行的入口类改名为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

返回目录

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值