第二次作业

自己取一个大气又可爱的标题

一、预估与实际

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

二、需求分析

我通过上网百度的方式了解到,四则运算数学有如下的几个特点:

  • 要判断小学生的年级数来做出相对应等级的题目
  • 要注意除法里面的除数和题目要求的不能有余数
  • 要注意判断结果不能有负数
  • 要运用加括号

三、设计

1. 设计思路

  • 计算符号判断
  • 生成随机数
  • 生成随机算式
  • 计算最终的结果
  • 将结果放入文本中

2. 实现方案

写出具体实现的步骤

比如:

  • 准备工作:先在Github上创建仓库,克隆到本地...
  • 技术关键点:如何判断符号和添加括号

四、编码

1. 调试日志

  • 计算符号判断,生成随机数
  • 把符号数字分两个集合
  • 利用遍历计算结果
  • 将答案打印到文本

2. 关键代码

 private static void calculate() {
        LinkedList<String> mList=new LinkedList<>();
        String[] postStr=sr.toString().split(" ");
        for (String s:postStr) {
            if (isOperator(s)){
                if (!mList.isEmpty()){
                    int N1=Integer.valueOf(mList.pop());
                    int N2=Integer.valueOf(mList.pop());
                    if (s.equals("/") && N1==0){
                    	answer="wrong";
                    	sr.setLength(0);
                        return;
                    }
                    if (s.equals("/")&& (N2%N1!=0)){
                    	answer="wrong";
                    	sr.setLength(0);
                        return;
                    }
                    if (s.equals("-")&& N2<=N1){
                    	answer="wrong";
                    	sr.setLength(0);
                        return;
                    }
                    int newNum=cal(N2,N1,s);
                    mList.push(String.valueOf(newNum));
                }
            }
            else {
                //数字则压入栈中
                mList.push(s);
            }
        }
        if (!mList.isEmpty()){
            answer=mList.pop();
        }
        sr.setLength(0);
    }

3. 代码规范

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

  • 第一条驼峰式风格且首字母大写
  • 第二条单行字符数限制不超过120个
  • 第三条手动处理异常

并人工检查代码是否符合规范

五、测试

六、总结

在本次作业中我深深感受大一大二欠债的压力,可以说是十分痛苦了,现在已经尽力从很简单的学起但是相对于这种作业来说的确是很辛苦的历程,甚至也不知道能不能赶得上大家的步伐,已经慌乱,总之多说无用
继续从基础抓起就是了。。。

posted @ 2018-09-18 23:47  Threesuuu  阅读(106)  评论(0编辑  收藏  举报