首页 > 其他 > 详细

第一次作业

时间:2018-09-11 23:21:30      阅读:194      评论:0      收藏:0      [点我收藏+]

要命的作业

一、预估与实际

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

二、需求分析

我通过百度的方式了解到,小学一二年级数学有如下的几个特点:

  • 特点1
  • 一百以内的加减
    -特点2
    -一百以内的乘除

经过分析,我认为,这个程序应当:

  • 使用的数字小于100
  • 小的数不能减大的数
    -没有分数
    -没有小数

三、设计

1. 设计思路

  • 输入两个数第一个是题数第二个是年级数
  • 一年级只有加减,并且这两个数都是一百以内
  • 如果是减法第一个数要大于第二个数
  • 将结果写到txt文件中

2. 实现方案

  • 准备工作:先在Github上创建仓库,并在GitHub上fork亓老师主页的MathExam2018仓库,并clone到本地;
    在本地仓库新建PSP6372文件夹,创建源文件MathExam6372.java
  • 技术关键点:Random,PrintStream的用法

四、编码

-输入两个整数题数和年级
-随机生成要求的题数
-把答案记录到out.txt

1. 调试日志

-若只输入一个参数就无法出现题目,应给grade一个初始值。

2. 关键代码

for (int i=0;i<number;i++){
            number1[i] = random.nextInt(100);
            number2[i] = random.nextInt(100);
            int subScript = (1 == grade) ?  (random.nextInt(2)) : (random.nextInt(4));
            String symbol = ch[subScript];
            so[i] = symbol;
            switch (symbol){
            case "/":
                while (number2[i] == 0) {
                    number2[i] = (int) (Math.random() * 100);
                }
                answer[i] = number1[i] / number2[i];
               break;
                
                case "*":
                    answer[i]=number1[i]*number2[i];
                    break;
                case "-":
                    if(number1[i]<number2[i]){
                        int temp = number1[i];
                        number1[i]=number2[i];
                        number2[i]=temp;
                    }
                    answer[i]=number1[i]-number2[i];
                    break;
                case "+":
                    answer[i]=number1[i]+number2[i];
                    break;
                default:
            }

判断是一年级还是两年级 一年级的随机输出加减法,两年级随机输出加减乘除

3. 代码规范

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

  • 第一条...JAVA命名一般应采用小写字母,但类名、接口名以及任何非初始单词的第一个字母要大写。
  • 第二条...获取成员函数 被访问字段名的前面加上前缀 get
    -第三条 package 行要在 import 行之前,import 中标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行中包含了同一个包中的不同子目录,则应该用 * 来处理。

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

五、测试

技术分享图片

六、总结

-先大概的有解题思路,想出比较容易出错的地方,着重解决这些地方;
-遇到错误要多次实验修改代码,不能放弃
-要会注释,这样便于自己下次看代码

第一次作业

原文:https://www.cnblogs.com/lu97-/p/9630751.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!