zoukankan      html  css  js  c++  java
  • 20172327 结对编程项目-四则运算 第一周 阶段总结

    20172327 结对编程项目-四则运算 第一周 阶段总结

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

    结对对象:


    学号:20172317
    姓名:蒋子行
    伙伴第一周博客地址:http://www.cnblogs.com/Chiang-B/p/8977865.html

    学号:20172320
    姓名:李闻洲
    伙伴第一周博客地址:http://www.cnblogs.com/garolwz/p/8977532.html

    担任角色:
    驾驶员:蒋子行
    副驾驶:李闻洲 马瑞蕃

    需求分析:

    1.自动生成题目


    可独立使用(能实现自己编写测试类单独生成题目的功能)

    可生成不同等级题目,类似于:
    1级题目:2 + 5 =
    10 - 5 =
    之类的两个数,一个运算符的题目

    2.题目运算(判题)


    - 可独立使用

    - 实现中缀表达式转为后缀表达式并计算

    - 判断用户答题正误,并输出正确结果

    3.支持真分数


    - 可独立使用

    - 实现分数算式的计算

    4.支持带括号


    3.题目去重(扩展需求,加分项)

    可独立使用

    实现对自动生成表达式的去重

    • 分析:


    生成题目,分级难度我们是通过调整符号和数字数来分类的.

    1.难度一是两个整数之间的运算

    2.难度二和难度三出现真分数的概率是由一个随机数决定的,并且这个分数的位置是固定的

    3.难度三题目的代码几乎和难度二一样,除了输出括号

    设计思路:

    UML类图:

    思路:


    创建一个真分数生成类

    创建三个难度类

    创建一个中缀转后缀类

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

    创建一个整合类(判断选择那个级别,判断要计算多少道题,判断对的个数及正确率)

    代码实现 (关键代码解释)

    • 真分数类:

    • 分析:对原来的RationalNumber 类进行了改变,如果用原来的Rationalnumber类,则整个程序的主体思路就必须跟随这个类来做了。

    • 难度1,2,3:


    • 分析:在所有难度的设置上都不会生成“0”这个数,这么设是为了防止出现除以0的情况.
      难度二与难度三出现真分数的概率是由一个随机数决定的,并且这个分数的位置是固定的
      难度三题目的代码几乎和难度二一样,除了输出括号,我们将括号的位置固定了,所以难度三必须有括号出现。

    代码托管地址:

    • 源代码链接:还没上传
    • commit提交信息:

    对结对的小伙伴做出评价:

    我的结对小伙伴这几天一直沉迷在代码的世界中,不停地测试,在五一放假三天一直待在寝室及,努力的在做程序,直到今天任然还没有弄完,蒋子行的能力是真的强,这得益于他每天都有练习修改,所以实践才是王道。对于菜鸟我来说,如今还没能娴熟掌握语法,有些思路可以想出来,但是由于对语言的不熟悉,所以不能用Java来表达出来。我们小组有三个人,我相信我们会最终将其弄出来的,加油共同努力!

    PSP时间统计:

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 60 60
    Estimate 估计这个任务需要多少时间 100 100
    Development 开发 800
    Analysis 需求分析 (包括学习新技术) 100
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 30
    Design UML 设计项目UML类图 50
    Coding 具体编码 30
    Code Review 代码复审 50
    Test 测试(自我测试,修改代码,提交修改) 30
    Size Measurement 计算工作量(实际时间 ) 30
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30
    合计 1240

    参考资料

    结对编程练习
    中缀转后缀
    前缀、中缀、后缀表达式

  • 相关阅读:
    redisTemplate
    HttpURLConnection下载文件流
    Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
    https请求
    将一个 JavaBean 对象转化为一个 Map
    Redis实现简单消息队列
    Spring Boot RestTemplate文件上传
    获取java栈异常
    获取 *.properties配置文件内容
    java格式化json串
  • 原文地址:https://www.cnblogs.com/mrf1209/p/8977846.html
Copyright © 2011-2022 走看看