第一次结对作业

211606392 郑俊瑜 211606327 冉繁盛

磨刀霍霍向滑稽

一、预估与实际

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划
• Estimate • 估计这个任务需要多少时间 700 870
Development 开发
• Analysis • 需求分析 (包括学习新技术) 50 50
• Design Spec • 生成设计文档 10 10
• Design Review • 设计复审 5 5
• Coding Standard • 代码规范 (为目前的开发制定合适的规范) 15 10
• Design • 具体设计 30 50
• Coding • 具体编码 600 660
• Code Review • 代码复审 10 10
• Test • 测试(自我测试,修改代码,提交修改) 35 55
Reporting 报告
• Test Repor • 测试报告 10 10
• Size Measurement • 计算工作量 5 10
• Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 10 15
合计 770 870

二、需求分析

我通过查看作业要求中的问题描述的方式了解到,小学三年级四则混合运算有如下的几个特点:

  • 特点1
  • 运算符在2~4个
  • 特点2
  • 可以加括号
  • 特点3
  • 减法运算的结果不能有负数
  • 特点4
  • 除法运算除数不能为0,不能有余数

三、设计

1. 设计思路

当输入参数要显示三年级算式时,生成随机数
生成四则运算式子,判断式子是否合理,同时需要
注意括号的运用

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地
  • 在仓库中创建文件夹,上传至github
  • 技术关键点:括号的形式,答案的正确

四、编码

生成随机数,抽取运算符,然后将答案存入数组,再次抽取运算符,并与上一个运算符比较优先级,判断是否加括号。最后得出答案,存入TXT文本。

1. 调试日志

  • 出现了负数
  • 括号有时无法显示出来

2. 关键代码

请展示一段程序的关键代码,并解释代码的作用


         if(kuohao){
         //生成括号
           int index1 =(int)
           (Math.random()*size-1));
           if(index1 % 2== 0){
           }else{
                index1 -=1;}
           int index2 = index1 + 3;
                exp.add(index1,"(");
                exp.add(index2 + 1,")");
        }
        }while(calc(nibolan(exp))<0 || calc(nibolan(exp)) > 1000);//最后结果不能小于0大于1000和小数
         for (String s :exp){
              shuzi += s;
              shuzi +=" ";
       }

3. 代码规范

请给出本次实验使用的代码规范:

  • 第一条:程序异常要进行手动处理,不抛出
  • 第二条:常量的定义要准确
  • 第三条:人工检查代码是否符合规范

五、测试

  • 多次输入检查是否出现负数
  • 当年级参数输入时大于3时,程序结果
  • 生成四则混合运算时,生成的括号是否有误

六、总结

  • 这次的作业,花了许多时间去查询,写出来的结果也差强人意,很多的复杂情况,是的代码有点繁琐复杂
  • 写代码时及时的注释十分重要!
  • 根据早上同学的想法,自己还有许多东西可以改进,提高。
posted @ 2018-09-19 11:27  还未明了  阅读(92)  评论(0编辑  收藏  举报