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

20162322朱娅霖 结对编程-四则运算(挑战出题)

2017-06-04 23:06 519 查看

20162322朱娅霖 结对编程-四则运算(挑战出题)

需求分析


实现一个命令行程序,要求:

自动生成小学四则运算题目(加、减、乘、除)

支持整数

支持多运算符(比如生成包含100个运算符的题目)



四则运算——挑战出题(只出题,不判题)



题目去重

程序一次运行生成的题目不能重复,即任何两道题目不能通过有限次交换+和×左右的算术表达式变换为同一道题目



要能指定生成题目的数量



要能指定题目包含的运算符数量



任意两道题目不能重复,运算符的前后位置变化也算是重复,数字的前后位置变化也算是重复,这些情况统统都要排除

可以指定需要生成多少道题目

指定生成的题目中的运算符的个数,也算是难易程度的一种,可以让生成的题目更加的智能化,有更多的选择性。

设计思路

实现四则运算中后缀转换类

实现四则运算后缀表达式计算类

实现四则运算生成题目

实现四则运算选择生成题目数量

实现四则运算指定生成题目中的运算符数量(难易度)

题目生成

可以独立使用

可以选择生成的题目数量

题目运算及正误判断

用到中缀表达式转后缀表达式

创建类

创建一个后缀表达式的计算类

创建一个后缀表达式转中缀表达式的转换类

指定生成题目的数量

输入需要多少题目,自动生成

指定生成题目中运算符的个数

编写过程记录

PSP2.1Personal Softwore Process Stage预计耗时(分钟)实际耗时(分钟)重要成长
Planning计划2030
Estimate做这个任务需要多长时间900720
Development开发360360
Analysis需求分析(包括学习新技术)3030
Design Spec生成设计文档180100
Design Review设计复审(和同事审核设计软件)300100
Coding Standard代码规范 (为目前的开发制定合适的规范)6060
Design具体设计300240
Coding具体编码600400
Code Review代码复审12060
Test测试(自我测试,修改代码,提交修改)240120
Reporting报告12060
Test Report测试报告12080
Size Measurement计算工作量2020
Postmortem & Process Improvement Plan· 事后总结, 并提出过程改进计划6030

关键代码解释

public class OutPutTest {
public static void main(String[] args) {
IOPractice pra = new IOPractice();
try {
pra.outFile(args[0], args[1]);
} catch (IOException e) {
System.out.println(e);
}
}
}


按照要求,将题目的个数和难易程度改为以参数的形式,实现在命令行中运行

运行过程截图









代码托管地址

结对编程

实验过程中遇到的问题及解决思路

问题2:本次我和周楠的结对编程的作业,我们能够在idea里面运行,在bash里面也都编译通过了,但是在使用老师给出的测试工具却始终无法运行

编译成功



但无法运行



解决方案2:我的周楠在经过了近乎半天的努力之后(各种百度,问同学,反复检查代码),我们在按照百度中的解答去除package之后,实在无法自己解决这个问题,于是就询问了老师。在老师的帮助下,我们在命令行下执行命令:

javac -encoding UTF-8 src/Arhithmetic3/*.java

再将之前的class文件删掉重新编译。最终,我们的代码能够成功运行了。

评价

结对编程中的两个角色

领航员:20162322朱娅霖

驾驶员:20162323周楠 她的博客

评分:40分

评分理由:

代码提交记录我的相对较多

代码思路较为混乱

我的结对小伙伴20162323周楠,在结对编程中,我们互相帮助,互相学习,在各方面都得到了提高。我总是很粗心,但是我的结对伙伴却足够细心,能够帮助我并指出很多问题。不过也希望我的结对伙伴思路能够更加开阔,思路更加清晰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: