zoukankan      html  css  js  c++  java
  • 结对编程项目-四则运算(第一周)

    需求分析(描述自己对需求的理解,以及后续扩展的可能性)

    1.代码要满足加减乘除的运算,包含括号,支持真分数

    2.对象选择生成四则运算题目的数量

    3.手动输入结果

    4.题目要可以验证结果正确与否并统计正确率

    5.要输出文件

    6.可以支持多运算符

    设计思路

    1.先将代码的结构构建好,即先写输出题目的数量

    2.通过for循环设计随机出现的题型,包括真分数题型

    3.编写不同类型的题型并检验

    4.编写题目出现后的输入及对应的语句,最后调用NumberFormat类统计正确的概率

    5.考虑如何输入文件和避免重复题目的方法

    6.测试

    实现过程中的关键代码解释

    1.String answer88 = String.valueOf(answer8);在完成真分数的设计时,由于分数类型带/符号,不能使用int来表示,只能用String类型,而且对于分数我加了一个分数类Fraction,所以需要将分数类的结果转为String,才能使输入值和正确答案的类型相同,从而进行比较。

    2.关于百分数的生成,需要先将整型数转化为double,分子必须为double类型,分母可不必,使用NumberFormat形式来表示百分数,NumberFormat fmt = NumberFormat.getPercentInstance();

    测试方法

    通过输入数量决定生成题目的数量,并且题型随机,最后统计正确率。

    运行过程截图

    代码托管

    遇到的困难及解决方法

    1.真分数如何表示?

     解决方法:在网上找了一个分数类`Fraction`,里面有分数加减乘除法则。于是我们编写了一个测试类来尝试如何调用该类,测试成功后将其使用于四则运算上来进行表示分数。例如:
    

    public class FractionTest {
        public static void main(String[] args) {
            Fraction f1 = new Fraction(1, 2);
            Fraction f2 = new Fraction(2, 4);
            System.out.println(f1);
            System.out.println(f2);
            System.out.println(f2.simplify());
            System.out.println(f1.add(f2));
    }
    }
    

    2.如何写入文件?

     解决方法:此问题为下周任务。
    

    对结对的小伙伴做出评价(重点指出需要改进的地方)

    我的搭档是齐力锋同学,他负责顶层设计,我负责代码的编写。编码过程中,我们通常采用坐在一起,一起讨论,边讨论,边动手,我们进行了深刻的讨论,提出了如何不使用栈来写四则运算,极大程度上减少了脑力活动但是,在接下来的一周里我们会继续讨论如何使用栈来编写类。希望他能够花更多时间来进行复杂代码的实践。以免生疏。

    PSP记录

    Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    计划 120 120
    估计这个任务需要多少时间 360 360
    生成设计文档 0 0
    设计复审 (和同事审核设计文档) 0 0
    开发 30 10
    需求分析 60 30
    具体编码 240 300
    测试 20 30
    测试报告 60 120
    事后总结, 并提出过程改进计划 20 20
  • 相关阅读:
    移动端布局方案汇总&&原理解析
    Javascript运行机制
    git 使用
    async await详解
    vue使用axios调用豆瓣API跨域问题
    hash和history的区别
    http状态码
    XSS 和 CSRF简述及预防措施
    【pytorch】pytorch基础学习
    [源码解读] ResNet源码解读(pytorch)
  • 原文地址:https://www.cnblogs.com/lxrlxr/p/6839255.html
Copyright © 2011-2022 走看看