结对编程项目-四则运算(阶段性总结)

需求分析

题目生成
  • 多运算符(可设计层级)
  • 包含括号(可单独使用)
  • 无重复题目(可单独使用)
  • 生成有意义的题目(例如: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

结对编程项目-四则运算(第一周阶段性总结)相关推荐

  1. 20165330 结对编程项目-四则运算 第一周

    需求分析 实现一个命令行程序,要求:自动生成小学四则运算题目(加.减.乘.除) 可实现多个运算符一起运算 可以真分数形式输出结果 测试结果的正确性 统计题目完成数并计算正确率 设计思路 实验首先是完成 ...

  2. 20162303 结对编程项目-四则运算 第一周输出阶段总结博客

    第一周(2017-5-14 23:59截止)输出阶段总结博客 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 ...

  3. 20172307 结对编程项目-四则运算 第二周 阶段总结

    20172307 结对编程项目-四则运算 第二周 阶段总结 (结队项目码云地址) 相关过程截图(关键代码处加了注释) 编写出实现中缀转后缀的类Transform /*Transform.java 作者 ...

  4. 20172305 结对编程项目-四则运算 第二周 阶段总结

    结对编程的好丽友 20172323 王禹涵:中缀转后缀 20172314 方艺雯:后缀表达式的计算 20172305 谭鑫:中缀表达式的输出 遇到的困难和解决方案 问题1:括号的添加方法 解决方案: ...

  5. 结对编程项目-四则运算阶段性总结

    结对编程项目-四则运算阶段性总结 在这段时间的结对编程过程中,我和我的组员一同编程,初步完成了项目的要求,现在我将阶段性的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则 ...

  6. 结对编程项目-四则运算整体总结

    结对编程项目-四则运算整体总结 在这一周中,我和我的搭档完成项目并实现了拓展需求,现在我将本项目的成果做一个总结 一.需求分析 实现一个命令行程序,要求: 1.自动生成小学四则运算题目(加.减.乘.除 ...

  7. 20165318 结对编程项目-四则运算 阶段总结

    20165318 结对编程项目-四则运算 阶段总结 目录 一.需求分析 二.设计思路 三.实现过程中的关键代码解释 四.测试方法 五.运行过程截图 六.代码托管 七.遇到的困难及解决方法 八.对结对小 ...

  8. 结对编程项目-四则运算答题器-设计文档

    项目名称:四则运算生成器 项目成员:焦广鑫,杜念泽 开发环境:Python2.7 需要实现的功能:加.减.乘.除四则基本运算 转载于:https://www.cnblogs.com/jgxblog/p ...

  9. 结对编程项目---四则运算

    同组人:郝哲 黄云龙 评价:在这次作业完成中我们都积极地查询了有关资料,并向大神咨询获得了帮助,学习的过程中更更加深入的了解了C#的编写. 感谢:感谢同组同学的帮助,感谢大神的辅导,感谢百度贴吧大神的 ...

最新文章

  1. Microsoft R 和 Open Source R,哪一个才最适合你?
  2. 【Codeforces Round #430 (Div. 2) B】Gleb And Pizza
  3. 阿里云应用配置管理ACM发布,重新定义云上配置的存放方式
  4. iPhone 13系列7款新机已通过EEC认证:或继续9月亮相
  5. Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)...
  6. SC命令---安装、开启、配置、关闭windows服务 bat批处理(转载)
  7. IQA+不懂︱图像清洗:图像质量评估(评估指标、传统检测方法)
  8. PHP ERROR : Call to undefined function curl_init()
  9. WPF设计の画刷(Brush)
  10. cad隐藏图层命令快捷键_99%的人没用过CAD图层这个功能!
  11. matlab中使用xlsread导入excel数据
  12. 大数据要学javaweb吗_纠结!Java和大数据学哪个更好?
  13. Android 自定义锁屏(带页面切换)
  14. 画布项目着色器(CanvasItem shaders):Godot的2D着色器
  15. LeetCode 热题100答案
  16. Java方法在art虚拟机中的执行
  17. 机器学习实验—K-MEANS聚类
  18. Eclipse连接远程Hadoop集群运行WordCount例程
  19. Context []startup failed due to previous errors有效解决方式
  20. USB-KEY原理简要说明

热门文章

  1. Swift - typealias
  2. 关于maven的java面试题汇总
  3. ueditor编辑器自定义添加切换背景信纸功能JS操作
  4. Office Visio Project在线安装教程
  5. sha256可以解密?用网上的sha256在线解密平台能解出来吗
  6. 应该清理CBA场内和场外的垃圾
  7. [人工智能-深度学习-40]:英伟达GPU CUDA 编程框架简介
  8. 踩气球ZOJ1003
  9. Git上传Unity工程GitHub
  10. oracel 固化索引