zoukankan      html  css  js  c++  java
  • 小学一二年级出题器

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

    一、预估与实际

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

    二、需求分析

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

    • 特点1:小学数学一年级学习了基础的加减法,包含100以上。
    • 特点2:小学数学二年级学习了乘法和除法还有余数。
    • 特点3:小学一年级还没学负数。
    • 特点4:小学二年级会九九乘法表。
      经过分析我认为这个程序
    • 加法减法的俩个数不能超过100,但结果可以超出一点100以上的。
    • 乘法和除法的数字不能大于10。
    • 减法不能出现负数。
    • 除法不能出现分数。
    • 被除数不能为0。

    三、设计

    1. 设计思路

    说明你如何设计这个程序

    比如:

    • 这个程序有个2个类一年级的出题类和二年级的出题类,2个方法取余数的方法和选择年级的方法。
    • 关键函数的流程图是怎样的?
    • 算法的关键的关键是输入的参数是否合法,还有产生的随机数和得出的结果是否超过题目的要求范围。
    • ...

    2. 实现方案

    写出具体实现的步骤

    比如:

    • 准备工作:先在Github上创建仓库,克隆到本地,完成后提交。
    • 技术关键点:要现在Eclipse先打出代码然后把代码输入到out.txt文件后,要在cmd上运行检测。还有要注意String类型和Int类型的转换。

    四、编码

    请说明你如何按照设计思路进行编码,并记录你在开发中遇到的问题,与解决过程

    1. 调试日志

    • 第一次运行时发现出现负数,就在代码上加了一个循环让出现负数的时候跳过重新循环一组数字,但最后发现运行结果会出现NULL,最后我换了种思路,出现负数时X和Y对调,通过这种方法顺利解决了问题。

    2. 关键代码

    public static void zzz(int n,String[] str) {
    int x;
    int y;
    for (int i = 0; i < n; i++) {
    int z = (int)(Math.random()(2));
    x = (int)(Math.random()
    100);
    y = (int)(Math.random()*100);
    //输入X和Y,给z随机出现0或者1俩个数字。

    	if(z==0) {
    		System.out.println("("+(i+1)+")" + "" + x + "+" + y + "" + "=" + " " );
    		str[i] = "(" + (i+1) + ")" +" " + x + "+" + y + " " + "=" + " " + (x+y);}
    		//当z为0的时候,就是X+Y的加法,输出结果。
    	else{
    		if(x-y<0) {
    			System.out.println("("+(i+1)+")" + "" + y + "-" + x + "" + "=" + " " );
    			str[i] = "(" + (i+1) + ")" +" " + y + "-" + x + " " + "=" + " " + (y-x);
    			}//当z不为0也就是1的时候,就是x-y的减法并且当x-y<0时x与y的位置互换,从而避免出现负数。输出结果。
    		else {
    			System.out.println("("+(i+1)+")" + "" + x + "-" + y + "" + "=" + " " );
    			str[i] = "(" + (i+1) + ")" +" " + x + "-" + y + " " + "=" + " " + (x-y);
    	}//x-y>0输出结果。
    		}
    	}
    	System.out.println("标准答案");
    	for(String s:str)
    		System.out.println(s);
    
    }
    

    }

    3. 代码规范

    • 方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵循驼峰形式。
    • 代码中的命名均不能以下划线或美元符号开始,也不能一下划线或美元符号结束。

    五、测试

    uploading-image-238890.png

    六、总结

    基础太差,做的很吃力,所以花了非常多时间,但还是有很多地方不理解,以后需要更努力了。

  • 相关阅读:
    JSDOM优化
    Firebug Console 与命令行全集
    input输入框和 pure框架中的 box-sizing 值问题
    模块化网站注意事项
    COOKIE
    鼠标滚动
    拖拽的基本函数(已有限制范围和修复浏览器默认行为以及磁性吸附、碰撞检测、改变层大小、模拟滚动条)
    app_can 的AJax异步,两个解决方案
    基于jQuery的message插件实现右下角弹出消息框
    C#后台讲字符串转化为计算公式
  • 原文地址:https://www.cnblogs.com/Dollarss/p/9631864.html
Copyright © 2011-2022 走看看