• 软件工程个人作业01


    软件工程个人作业01

    思想:

    1. 定义5个int型的数组,长度为题目数;
    2. 其中有4个取1到99的随机数,分别代表前一个数的分子和分母,后一个数的分子和分母;
    3. 另一个取0到3的随机数,分别代表运算符 + - * / ;
    4. 定义一个int型的数,取0和1的随机数,代表整数和分数;
    5. 检查是否有重复的数,有进行修改,无不修改;
    6. 根据符合的随机数,输出题目

    程序:

    package test;
    import java.util.Random;
    public class test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method 
            int[] a1 = new int[30];
            int[] a2 = new int[30];
            int[] b1 = new int[30];
            int[] b2 = new int[30];
            int[] c = new int[30];
            int d;
            String[] sz1 = new String[30];
            String[] sz2 = new String[30];
            
            for(int i=0;i<30;i++)
            {
                Random rand = new Random();
                a1[i]=rand.nextInt(100)+1;   //前一个数的分子
                a2[i]=rand.nextInt(100)+1;   //前一个数的分母
                b1[i]=rand.nextInt(100)+1;   //后一个数的分子
                b2[i]=rand.nextInt(100)+1;   //后一个数的分母
                c[i]=rand.nextInt(4);    //符号的随机代表数
                
                d=rand.nextInt(2);    //整数和分数的随机代表数
                if(d==0)
                    if(a1[i]>a2[i])
                        sz1[i]=" "+a1[i]+"/"+a2[i];
                    else
                        if(a1[i]<a2[i])
                            sz1[i]=" "+a2[i]+"/"+a1[i];
                        else
                            sz1[i]=" "+a1[i];
                else 
                    sz1[i]=" "+a1[i];
                
                d=rand.nextInt(2);    //整数和分数的随机代表数
                if(d==0)
                    if(b1[i]>b2[i])
                        sz2[i]=" "+b1[i]+"/"+b2[i];
                    else
                        if(b1[i]<b2[i])
                            sz2[i]=" "+b2[i]+"/"+b1[i];
                        else
                            sz2[i]=" "+b1[i];
                else 
                    sz2[i]=" "+b1[i];
                
                for(int j=0;j<i;j++)
                {   //检查是否有重复的算式
                    if(sz1[i]==sz1[j])    //检查前一个数是否重复
                        if(sz2[i]==sz2[j])    //检查后一个数是否重复
                            if(c[i]==c[j])    //检查运算符号是否重复
                            {
                                a1[i]=rand.nextInt(100)+1;
                                a2[i]=rand.nextInt(100)+1;
                                d=rand.nextInt(2);    //整数和分数的随机代表数
                                if(d==0)
                                    sz1[i]=" "+a1[i]+"/"+a2[i];
                                else 
                                    sz1[i]=" "+a1[i];
                            }
                }
                
                if(c[i]==0)    //如果符号的随机代表数是0,符号为+
                    System.out.println(i+1+":"+sz1[i]+" +"+sz2[i]+"=");
                if(c[i]==1)    //如果符号的随机代表数是1,符号为-
                    System.out.println(i+1+":"+sz1[i]+" -"+sz2[i]+"=");
                if(c[i]==2)    //如果符号的随机代表数是2,符号为*
                    System.out.println(i+1+":"+sz1[i]+" *"+sz2[i]+"=");
                if(c[i]==3)    //如果符号的随机代表数是3,符号为/
                    System.out.println(i+1+":"+sz1[i]+" /"+sz2[i]+"=");
            }
        }
    }

     

    截图:

     

  • 相关阅读:
    什么是pop节点
    什么是NUMA
    连大神都必须掌握的Linux定时任务
    Git 查看 tag 标签详解
    mysql 添加外键约束
    select * 和 select 字段的区别
    Spring Boot MyBatis使用typealiasespackage自定义类别名
    Linux vim编辑器介绍
    2022年9月15日
    2022年9月25日
  • 原文地址:https://www.cnblogs.com/gzgz/p/5250688.html
Copyright © 2020-2023  润新知