码迷,mamicode.com
首页 > 其他好文 > 详细

20194685+自动生成四则运算题第一版报告

时间:2019-09-14 19:44:34      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:随机   i++   中间   代码   order   result   cep   控制   语句   

一.需求分析

        为了使中小学生在课余时间可以练习算数能力,同时也可以减轻家长与老师的时间和压力,制作了此程序,同时算数的数量和范围在程序中都可以自定义。
二.功能介绍

基本功能

  • 自动生成100以内的四则运算
  • 题目数量可以自定义


扩展功能

  • 剔除重复算式
  • 可根据本身能力选择是否包括乘法和除法
  • 操作数值范围可控
  • 可根据需要设定操作数是否包含负数
  • 生成的运算题存储到D://result.txt中

三.设计实现

  • Scanner reader=new Scanner(System.in);实现输入
  • import java.util.*; 导入所有类
  • import java.io.*; 导入java.io下面的所有类
  • Random r=new Random(); 生成随机数
  • 因为对java学习的时间尚短,对java中相应的类,属性等功能不熟悉,所以此程序只用了一个类,中间包含循环语句,控制语句等。

 


四.测试运行

    java测试数量10,不包含负数,操作数为100以内,且包括乘法或除法:技术图片

 

五.代码

让系统输入用户需要指定的条件:

Scanner reader=new Scanner(System.in);
        
        System.out.println("请输入题目数量:");
        int n=reader.nextInt();
        System.out.println("操作数是否含负数:1.包含   2.不包含");
        int c=reader.nextInt();
        System.out.println("操作数是100以内还是1000以内:1.100   2.1000");
        int b=reader.nextInt();
        System.out.println("是否包含乘法和除法:1.包括      2.不包括");
        int a=reader.nextInt();

 

当用户选择操作数为100以内,且包含乘法或除法的代码:

if(b==1){
                  int ran1=r.nextInt(100);
                    int ran2=r.nextInt(100);
                if(a==1){
                    int k=(int)(Math.random()*4);
                    if(k==1){
                         sum=ran1+ran2;
                         System.out.println(ran1+"+"+ran2+"=");
                         
                    }
                    if(k==2){
                        sum=ran1-ran2;
                        System.out.println(ran1+"-"+ran2+"=");
                        
                    }
                    if(k==3){
                        sum=ran1*ran2;
                        System.out.println(ran1+"*"+ran2+"=");
                        
                    }
                    if(k==4){
                        sum=ran1/ran2;
                        System.out.println(ran1+"/"+ran2+"=");
                        
                    }
                }
                

 

系统将所展示的题目保存至result.txt文件中:

FileWriter fw = null;
     BufferedWriter bufw = null;
        try {
            fw = new FileWriter("D:\\result.txt");
            bufw = new BufferedWriter(fw);
            for(int i =0;i<n;i++) {
                switch(i) {
                case 0:bufw.write("第"+(int)(i+1)+"题:"+new String(x+"+"+y+"="+sum));bufw.newLine();break;
                case 1:bufw.write("第"+(int)(i+1)+"题:"+new String(x+"-"+y+"="+sum));bufw.newLine();break;
                case 2:bufw.write("第"+(int)(i+1)+"题:"+new String(x+"*"+y+"="+sum));bufw.newLine();break;
                case 3:bufw.write("第"+(int)(i+1)+"题:"+new String(x+"/"+y+"="+sum));bufw.newLine();break;
                }
            }
        }catch(IOException e) {
            e.printStackTrace();
        }
        finally {
            try {
                if(bufw!=null) {
                    bufw.close();
                }
            }catch(IOException e) {
                e.printStackTrace();
            }
        }
    
         

 

六.总结

        对java熟悉度不足,导致写出来的程序太繁琐且简单,但基本程序所需要的功能都实现了,设定了多个if条件语句,通过用户所选择输出方式的不同进入到用户所定义相应的程序块,以此来实现此程序的功能。

七.PSP撰写

任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
计划 15 25
开发 20 20
需求分析 10 20
生成设计文档 10 15
代码规范 15 15
具体设计 60 150
具体编码 180 300
代码复审 30 60
测试 10 20
报告 10 10
测试报告 5 5
计算工作量 5 5
事后总结 30 30

 

 

 

 

 


20194685+自动生成四则运算题第一版报告

标签:随机   i++   中间   代码   order   result   cep   控制   语句   

原文地址:https://www.cnblogs.com/19980712mj/p/11519750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!