zoukankan      html  css  js  c++  java
  • 20162317-20162315结对编程(四则运算)第二周阶段总结

    20162317-20162315结对编程(四则运算)第二周阶段总结

    需求分析

    • 实现真分数的四则运算。仍使用之前的栈运算的框架对真分数进行计算。现在缺少对真分数的构建以及真分数自身特殊运算法则的构建。

    设计思路

    • 我们已经完善了不包含分数时的四则运算。现在我们只需要多写一个类,使他能构造分数,在这个类里面也要包含最后要调用的分数的计算方法(分数含有分子分母,是两部分的算法,和整数,小数是不一样的,还涉及到通分约分问题)。

    关键代码解释


    • 这里先构建了一个分数,把它拆分为分子与分母两个部分来使用。

    • 这也是与之前整数运算不一样的地方。这个方法里面我们让用户输入他们的结果。调用split把用户答案通过“/”截成分子分母。这个方法里面有if else条件语句结构是因为结果可能有两种。比如3/5 X 5/3 的答案就是1,这个时候“/”以及分母“1”都被隐藏了。所以只显现一个字符。在方法里面设置了默认分母为1,只需要比较分子。

    • 倒数只需要颠倒分子分母就行了,这个在分子除法里要用到。袁逸灏查了Math方法,写了这个约分的方法:在分子分母里面找到公共数common,再分别相除,输出约分后的分数。

    • 这是重写过的适用于分数的加减乘除方法。每个方法内部都用分子分母单独运算。通分方法并未像约分一样独立写出来,而是根据每种不同的运算方式写在运算方法下。除法直接调用了上面写过的Daoshu方法。

    junit测试


    这里面的senior里的方法都只涉及int类型,所以是测试结果为double或者分数的。

    数据修改之后证明divide方法的编写没有错误。

    运行结果

    遇到的困难及解决方法

    • 如何把得到的结果输出成最简形式?
    • 最开始我们输出的分数都没有约分过。后来袁逸灏查到了Math方法下有一个取公约数的方法,将分子分母除以公约数就可以化简了。我们写出了独立的约分方法,最后放在输出结果的位置使用将答案规范。
    • 测试的时候自己打上去的答案和输出结果一样的,输出却是You are wrong.
    • 最开始袁逸灏设置的是识别三个字符串长度的运算结果。所以分子分母只要超过一位就会错误,修改了之后可以正常使用了。

    代码链接

    时间记录表

    Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    计划 (第一周)20/(第二周)30 (第一周)40/(第二周)80
    ·估计耗时 (第一周)20/(第二周)25 (第一周)40/(第二周)/65
    开发 (第一周)435/(第二周)500 (第一周)525/(第二周)600
    ·需求分析 (第一周)30/(第二周)15 (第一周)50/(第二周)8
    ·生成设计文档 (第一周)20/(第二周)25 (第一周)30/(第二周)20
    ·具体设计 (第一周)30/(第二周)50 (第一周)50 /(第二周)80
    ·具体编码 (第一周)300/(第一周)450 (第一周)320/(第二周)600
    ·代码复审 (第一周)30/(第一周)120 (第一周)15/(第二周)80
    ·测试 (第一周)25/(第二周)15 (第一周)60/(第二周)30
    报告 (第一周)105/(第二周)90 (第一周)110/(第二周)160
    ·测试报告 (第一周)50/(第二周)65 (第一周)80/(第二周)80
    ·事后总结,并提出过程改进计划 (第一周)35(第二周)65 (第一周)20/(第二周)32
    ·分析下一步计划 (第一周)20/(第二周)20 (第一周)10/(第二周)40
    合计 (第一周)460/(第二周)1470 (第一周)675(第二周)1885
  • 相关阅读:
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    《算法竞赛入门经典》 例题35 生成元 (Digit Generator, ACM ICPC Seoul 2005,UVa)
    SVN分支
    SVN分支
    SVN 版本回退
    SVN 版本回退
    如何在excel中取消合并单元格后内容自动填充?
    如何在excel中取消合并单元格后内容自动填充?
    如何让自己像打王者荣耀一样发了疯、拼了命的学习?
  • 原文地址:https://www.cnblogs.com/cs162315/p/6885916.html
Copyright © 2011-2022 走看看