结对编程项目-四则运算(第一周阶段性总结)
结对编程项目-四则运算(阶段性总结)
需求分析
题目生成
- 多运算符(可设计层级)
- 包含括号(可单独使用)
- 无重复题目(可单独使用)
生成有意义的题目(例如:5x(5x5)等等)
等级划分
- Level 0:题目可相同,十以内加减法
- level 1:题目不重复,十以内加减法
level 2:题目可重复,二十以内加减法
设计思路
计算部分
- 中缀表达式转成后缀表达式
后缀表达式计算
题目部分
- 使用for循环生成题目
- 去重(将题目从中缀转成后缀,将其排序,判断是否有重复)(存在bug)
- 括号的生成(使用两个随机数代表括号的位置)(存在bug)
有意义的题目(使用list类中的subList)
实现过程中的关键代码解释
测试方法
运行过程截图
代码托管地址
遇到的困难及解决方法
- 当我们生成混合运算的时候,如何让随机生成括号的问题困扰了我们很久,就是考虑到如果生成了左括号如何让它一定生成右括号,不使代码算式出错的问题。
- 构思很久以后我们只想到了如何没有错误的生成一组括号。
private String promber2() {List<String> list = new ArrayList<String>();String[] strings;do {list.add(number());for (int i = 1; i < lenth(); i++) {list.add(symbol());list.add(number());}do {Random r1 = new Random();s1 = r1.nextInt(list.size() - 3);}while (s1 % 2 != 0);int s = list.size();do {Random r2 = new Random();s2 = r2.nextInt(s) + (s1 + 4);}while (s2 % 2 != 0 || s2 > s);list.add(s1, "(");list.add(s2, ")");String[] str = new String[list.size()];for (int i = 0; i < list.size(); i++) {str[i] = list.get(i);}strings = str;}while ((strings[0].equals("(") && strings[strings.length - 1].equals(")")));lis = list.subList(s1, s2);String c = " ";for (int i = 0; i < strings.length; i++) {c += (strings[i] + " ");}return c;}public String promber3(){String s;do {s = promber2();}while (!isOperation1(s) || !isOperation2(s));return s;}
但是怎样实现多组,如果用循环一个一个比较的话,在题的数目多的时候会出现代码运行速度较慢的缺点。
感想
结对编程给我带来了很多收获,泰毓同学在代码的构建和实现方面比较强,同时他也教会了我许多新的知识,而且,通过结对学习这种方式,为了不拖累队友我们不得不去学,可以说给我们的学习增加的动力,在和泰毓学习的过程中,两个人坐在那里一起讨论,一起研究解决方案,将问题一起解决的时候不仅学到了东西还感觉很开心。
PSP
PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时) Planning 计划 0.5 0.5 · Estimate · 估计这个任务需要多少时间 0.5 0.5 Development 开发 12.2 18.5 · Analysis · 需求分析 (包括学习新技术) 2 3 · Design Spec · 生成设计文档 0.5 0.5 · Design Review · 设计复审 (和同事审核设计文档) 0.2 0.5 · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 0.5 0.5 · Design · 具体设计 2 3 · Coding · 具体编码 2 4 · Code Review · 代码复审 2 2 · Test · 测试(自我测试,修改代码,提交修改) 3 5 Reporting 报告 2.5 1.5 · Test Report · 测试报告 2 1 · Size Measurement · 计算工作量 0.5 0.5 · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1 0.5 总计 15.2 20.5
转载于:https://www.cnblogs.com/zhanghaolin/p/6854442.html
结对编程项目-四则运算(第一周阶段性总结)相关推荐
- 20165330 结对编程项目-四则运算 第一周
需求分析 实现一个命令行程序,要求:自动生成小学四则运算题目(加.减.乘.除) 可实现多个运算符一起运算 可以真分数形式输出结果 测试结果的正确性 统计题目完成数并计算正确率 设计思路 实验首先是完成 ...
- 20162303 结对编程项目-四则运算 第一周输出阶段总结博客
第一周(2017-5-14 23:59截止)输出阶段总结博客 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...
- 20172307 结对编程项目-四则运算 第二周 阶段总结
20172307 结对编程项目-四则运算 第二周 阶段总结 (结队项目码云地址) 相关过程截图(关键代码处加了注释) 编写出实现中缀转后缀的类Transform /*Transform.java 作者 ...
- 20172305 结对编程项目-四则运算 第二周 阶段总结
结对编程的好丽友 20172323 王禹涵:中缀转后缀 20172314 方艺雯:后缀表达式的计算 20172305 谭鑫:中缀表达式的输出 遇到的困难和解决方案 问题1:括号的添加方法 解决方案: ...
- 结对编程项目-四则运算阶段性总结
结对编程项目-四则运算阶段性总结 在这段时间的结对编程过程中,我和我的组员一同编程,初步完成了项目的要求,现在我将阶段性的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则 ...
- 结对编程项目-四则运算整体总结
结对编程项目-四则运算整体总结 在这一周中,我和我的搭档完成项目并实现了拓展需求,现在我将本项目的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则运算题目(加.减.乘.除 ...
- 20165318 结对编程项目-四则运算 阶段总结
20165318 结对编程项目-四则运算 阶段总结 目录 一.需求分析 二.设计思路 三.实现过程中的关键代码解释 四.测试方法 五.运行过程截图 六.代码托管 七.遇到的困难及解决方法 八.对结对小 ...
- 结对编程项目-四则运算答题器-设计文档
项目名称:四则运算生成器 项目成员:焦广鑫,杜念泽 开发环境:Python2.7 需要实现的功能:加.减.乘.除四则基本运算 转载于:https://www.cnblogs.com/jgxblog/p ...
- 结对编程项目---四则运算
同组人:郝哲 黄云龙 评价:在这次作业完成中我们都积极地查询了有关资料,并向大神咨询获得了帮助,学习的过程中更更加深入的了解了C#的编写. 感谢:感谢同组同学的帮助,感谢大神的辅导,感谢百度贴吧大神的 ...
最新文章
- Microsoft R 和 Open Source R,哪一个才最适合你?
- 【Codeforces Round #430 (Div. 2) B】Gleb And Pizza
- 阿里云应用配置管理ACM发布,重新定义云上配置的存放方式
- iPhone 13系列7款新机已通过EEC认证:或继续9月亮相
- Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)...
- SC命令---安装、开启、配置、关闭windows服务 bat批处理(转载)
- IQA+不懂︱图像清洗:图像质量评估(评估指标、传统检测方法)
- PHP ERROR : Call to undefined function curl_init()
- WPF设计の画刷(Brush)
- cad隐藏图层命令快捷键_99%的人没用过CAD图层这个功能!
- matlab中使用xlsread导入excel数据
- 大数据要学javaweb吗_纠结!Java和大数据学哪个更好?
- Android 自定义锁屏(带页面切换)
- 画布项目着色器(CanvasItem shaders):Godot的2D着色器
- LeetCode 热题100答案
- Java方法在art虚拟机中的执行
- 机器学习实验—K-MEANS聚类
- Eclipse连接远程Hadoop集群运行WordCount例程
- Context []startup failed due to previous errors有效解决方式
- USB-KEY原理简要说明