小学一二年级出题器

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

一、预估与实际

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning计划3045
• Estimate• 估计这个任务需要多少时间10001265
Development开发5060
• Analysis• 需求分析 (包括学习新技术)3050
• Design Spec• 生成设计文档3050
• Design Review• 设计复审3045
• Coding Standard• 代码规范 (为目前的开发制定合适的规范)3050
• Design• 具体设计4060
• Coding• 具体编码400600
• Code Review• 代码复审6070
• Test• 测试(自我测试,修改代码,提交修改)3030
Reporting报告7090
• Test Repor• 测试报告4550
• Size Measurement• 计算工作量2035
• Postmortem & Process Improvement Plan• 事后总结, 并提出过程改进计划3030
合计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

六、总结

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

转载于:https://www.cnblogs.com/Dollarss/p/9631864.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值