首页 > 其他 > 详细

20194613 自动生成四则运算第一版报告

时间:2019-09-11 23:41:05      阅读:137      评论:0      收藏:0      [点我收藏+]

一、需求分析

随机生成指定数目四则运算,减轻出题负担

二、功能设计

基本功能:

自动生成10道100以内的2个操作数的四则运算算式(+ - * /),要求运算结果也在100以内

扩展功能:

1)题目数量可定制;

2)相关参数可控制:
是否包含乘法和除法;
操作数数值范围可控(如操作数 在100以内 还是1000以内);
操作数是否含负数。    

3)生成的运算题存储到外部文件result.txt中。

三、设计实现

用java语言完成设计实现

四、测试运行

1.可定制题目数量,包含乘除,包含正负,结果在100以内
技术分享图片

2.可定制题目数量,不含乘除,包含正负,结果在100以内
技术分享图片

3.可定制题目数量,不含乘除,不含正负,结果在100以内
技术分享图片

4.可定制题目数量,包含乘除,不含正负,结果在100以内
技术分享图片

五、代码片段

1、是否包含负数

for(i=0;i<n;i++){ //题目数量可定制 
            if(f==0){   //f等于0时,不出带负号的四则运算
                      a=(int) (Math.random()*z);
                      b=(int)(Math.random()*z);
                      r = b+"";
            }else {  //随机出带负号的四则运算
                     a=(int)(Math.random()*z*(Math.random()>0.5?1:-1));
                      b=(int)(Math.random()*z*(Math.random()>0.5?1:-1));
                      if(b<0){
                          r = "(" + b + ")";//如果b为负数,加括号
                        }else{
                            r = b+"";
                        }
            }

2、是否包含乘除法

switch(g){           
         case 1:  try {
           bw.write("第"+(i+1)+"题:"+a+""+j+""+r+"="+sum+"");
           bw.newLine();//换行
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                    }  
                               break;
           case 0:
                             i--;
                             continue;            
            }

3、生成的运算题存储到外部文件result.txt中代码块

Writer fw = null;
            try {
                fw = new FileWriter("d:\\result.txt"); //输出的路径和文件名
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
       BufferedWriter bw=new BufferedWriter(fw);//写入文件
            bw.write("第"+(i+1)+"题:"+a+""+j+""+r+"="+sum+""); //输出算式
        bw.newLine();      //换行

             try {
            System.out.println("出题成功,请移至result.txt查看题目");
            bw.close();      //关闭
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

六、总结

自己写的代码 功能虽能保证实现 但耗时长 并且有些繁琐,不精简 希望在后续学习中能过提升自己的专业技能。

七、psp

psp2.1 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 20
· Estimate 估计这个任务需要多少时间,并规划大致工作步骤 60 200
Development 开发 120 240
·· Analysis 需求分析 (包括学习新技术) 10 30
· Design Spec · 生成设计文档 10 20
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 20
·Coding · 具体编码 120 200
·Code Review · 代码复审 10 30
·Test · · 测试(自我测试,修改代码,提交修改) 10 20
·Reporting · · 报告 10 30
· Test Report · · 测试报告 10 10
· Size Measurement · · 计算工作量 10 10
· Postmortem & Process Improvement Plan · · 事后总结 ,并提出过程改进计划 10 10

20194613 自动生成四则运算第一版报告

原文:https://www.cnblogs.com/lzcl/p/11509343.html

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