zoukankan      html  css  js  c++  java
  • 软件工程个人作业02

    四则运算2 程序设计思想:

        在程序1的基础上添加要求:是否有乘除法,是否有括号(这个没有完成),数值范围,加减有无负数,除法有无余数。

        在数组中存放运算符,添加一个只有加和减符号的数组,无乘除法的情况下,用这个数组即可实现。

        数值范围:在生成随机数的时候,生成随机范围内的数。

        加减有无负数:生成a,b两个随机数,a>b时生成的式子a在前。

        除法有无余数:添加判断,如果生成的两个随机数相除有余数的话,重新生成即可。

    源代码

    package ER;
    
    import java.util.Scanner;
    
    public class Sisr2 {
    
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String A[]=new String[4];
            A[0]="+";
            A[1]="-";
            A[2]="x";
            A[3]="÷";
            String B[]=new String[2];
            B[0]="+";
            B[1]="-";
            int a,b,c,d;
            System.out.println("选择题目类型:1.分数练习;0.整数练习");
            Scanner in=new Scanner(System.in);
            int k;
            k=in.nextInt();
            if(k==0){
                System.out.println("请输入生成题目的数量:");
                int x,y,m,n,z,l;
                x=in.nextInt();
                System.out.println("是否有乘除法:1.是;0.否");
                y=in.nextInt();
                System.out.println("请输入计算范围:");
                m=in.nextInt();
                n=in.nextInt();
                System.out.println("加减有无负数:1.有;0.无");
                z=in.nextInt();
                System.out.println("除法有无余数:1.有;0.无");
                l=in.nextInt();
                
                    if(y==0&&z==0&&l==0){
                        for(int i=0;i<x;i++){ 
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            if(a>b){
                                System.out.println(a+B[(int)(Math.random()*2)]+b);
                            }
                            else if(a<b){
                                System.out.println(b+B[(int)(Math.random()*2)]+a);
                            }
                        }    
                    }
                    if(y==0&&z==0&&l==1){
                        for(int i=0;i<x;i++){ 
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            if(a>b){
                                System.out.println(a+B[(int)(Math.random()*2)]+b);
                            }
                            else if(a<b){
                                System.out.println(b+B[(int)(Math.random()*2)]+a);
                            }
                        }
                    }
                    if(y==0&&z==1&&l==0){
                        for(int i=0;i<x;i++){ 
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            System.out.println(a+B[(int)(Math.random()*2)]+b);
                        }
                    }
                    if(y==0&&z==1&&l==1){
                        for(int i=0;i<x;i++){ 
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            System.out.println(a+B[(int)(Math.random()*2)]+b);
                        }
                    }
                    if(y==1&&z==0&&l==0){
                        int j=1;
                        while(j==x){
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            if(a%b==0){                        
                                System.out.println(a+A[(int)(Math.random()*4)]+b);
                                j++;
                            }
                            else if(b%a==0){
                                System.out.println(b+A[(int)(Math.random()*4)]+a);
                                j++;
                        }
                    }
                    }
                    if(y==1&&z==0&&l==1){
                        for(int i=0;i<x;i++){
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            if(a>b){
                                System.out.println(a+A[(int)(Math.random()*4)]+b);
                            }
                            else if(a<b){
                                System.out.println(b+A[(int)(Math.random()*4)]+a);
                            }
                        }
                    }
                    if(y==1&&z==1&&l==0){
                        int j1=1;
                        while(j1==x){
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            if(a%b==0){
                                System.out.println(a+A[(int)(Math.random()*4)]+b);
                                j1++;
                            }
                            else if(b%a==0){
                                System.out.println(b+A[(int)(Math.random()*4)]+a);
                                j1++;
                            }
                    }
                    }
                    if(y==1&&z==1&&l==1){
                        for(int i=0;i<x;i++){ 
                            a =(int)(Math.random()*(m-n))+n;
                            b =(int)(Math.random()*(m-n))+n;
                            System.out.println(a+A[(int)(Math.random()*4)]+b);
                        }
                    }
                }
            if(k==1){
                System.out.println("请输入生成题目的数量:");
                int x,y,m,n,z,l;
                x=in.nextInt();
                System.out.println("是否有乘除法:1.是;0.否");
                y=in.nextInt();
                System.out.println("请输入计算范围:");
                m=in.nextInt();
                n=in.nextInt();
                System.out.println("加减有无负数:1.有;0.无");
                z=in.nextInt();
                System.out.println("除法有无余数:1.有;0.无");
                l=in.nextInt();
                if(y==0&&z==0&&l==0){
                    for(int i=0;i<x;i++){ 
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        if(a/b>c/d){
                            System.out.println(a+"/"+b+" "+B[(int)(Math.random()*2)]+" "+c+"/"+d);
                        }
                        else if(a/b<c/d){
                            System.out.println(c+"/"+d+" "+B[(int)(Math.random()*2)]+" "+a+"/"+b);
                        }
                    }    
                }
                if(y==0&&z==0&&l==1){
                    for(int i=0;i<x;i++){ 
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        if(a/b>c/d){
                            System.out.println(a+"/"+b+" "+B[(int)(Math.random()*2)]+" "+c+"/"+d);
                        }
                        else if(a/b<c/d){
                            System.out.println(c+"/"+d+" "+B[(int)(Math.random()*2)]+" "+a+"/"+b);
                        }
                    }
                }
                if(y==0&&z==1&&l==0){
                    for(int i=0;i<x;i++){ 
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        System.out.println(a+"/"+b+" "+B[(int)(Math.random()*2)]+" "+c+"/"+d);
                    }
                }
                if(y==0&&z==1&&l==1){
                    for(int i=0;i<x;i++){ 
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        System.out.println(a+"/"+b+" "+B[(int)(Math.random()*2)]+" "+c+"/"+d);
                    }
                }
                if(y==1&&z==0&&l==0){
                    int j=1;
                    while(j==x){
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        if(a/b % c/d==0){                        
                            System.out.println(a+"/"+b+" "+A[(int)(Math.random()*4)]+" "+c+"/"+d);
                            j++;
                        }
                        else if(c/d % a/b==0){
                            System.out.println(c+"/"+d+" "+A[(int)(Math.random()*4)]+" "+a+"/"+b);
                            j++;
                    }
                }
                }
                if(y==1&&z==0&&l==1){
                    for(int i=0;i<x;i++){
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        if(a/b>c/d){
                            System.out.println(a+"/"+b+" "+A[(int)(Math.random()*4)]+" "+c+"/"+d);
                        }
                        else if(a/b<c/d){
                            System.out.println(c+"/"+d+" "+A[(int)(Math.random()*4)]+" "+a+"/"+b);
                        }
                    }
                }
                if(y==1&&z==1&&l==0){
                    int j1=1;
                    while(j1==x){
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        if(a/b % c/d==0){
                            System.out.println(a+"/"+b+" "+A[(int)(Math.random()*4)]+" "+c+"/"+d);
                            j1++;
                        }
                        else if(c/d % a/b==0){
                            System.out.println(c+"/"+d+" "+A[(int)(Math.random()*4)]+" "+a+"/"+b);
                            j1++;
                        }
                }
                }
                if(y==1&&z==1&&l==1){
                    for(int i=0;i<x;i++){ 
                        a =(int)(Math.random()*(m-n))+n;
                        b =(int)(Math.random()*(m-n))+n;
                        c =(int)(Math.random()*(m-n))+n;
                        d =(int)(Math.random()*(m-n))+n;
                        System.out.println(a+"/"+b+" "+A[(int)(Math.random()*4)]+" "+c+"/"+d);
                    }
                }
            }
        }
    
    }

    运行结果截图:

      现在分数计算也有问题了,起初没问题 ,再添加括号的时候出现问题,生成不了题目,排查错误过程中也没找到解决办法,只能先放弃括号这个要求。

    事件记录日志:

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    3/7

    13:50

    15:17

    30min

    57min

    编程

    作业2

    3/7

    19:04

    20:00

    20min

    36min

    编程

    Jave web

    3/8

    15:10

    17:30

    15min

    125min

    编程

    作业2

    3/10

    19:00

    22:00

    30min

    150min

    编程

    作业2

    3/11

    12:30

    15:00

    10min

    140min

    编程

    作业2

    备注:3/10日 程序崩溃- -,重新编写。

    缺陷记录日志:

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复时间

    修复缺陷

    3/7

    1

    编码

    编译

    5min

    修复被除数为0的情况

    3/7

    2

    编码

    编译

    10min

    修复分数不能生成式子

    3/10

    3

    编码

    编译

    30min

    添加括号,修改代码使程序崩溃,没有修复

    周活动总结表:

    任务

    日期

    听课(min)

    编写程序

    (min)

    阅读课本(min)

    准备考试(min)

    日总结

    (min)

    周日3/5

    周一

    200

    200

    周二

    100

    100

    200

    周三

    125

    30

    155

    周四

    90

    90

    周五

    150

    150

    周六

    140

    140

  • 相关阅读:
    C艹目录
    C艹重复输入小方法,for循环+while
    python with 语句妙用
    python with妙用
    Kali配置网卡静态信息
    Spring 之 注解详解
    html基础之 表单提交方法
    html 基础之 <link>标签
    android:padding和android:margin的区别
    css基础之 font的简写规则 以及 自定义 CSS3 @font-face详细用法
  • 原文地址:https://www.cnblogs.com/zhouzh/p/6535934.html
Copyright © 2011-2022 走看看