• Java设计给小学生的自动出题系统


    系统要求:

    1、自动出题,涉及加减乘除四则运算

    2、运算为两位数之间

    3、减法不能出现负数

    4、乘法结果不超过100

    5、除法必须整除

    6、用户决定出题量

    7、用户决定几道题一换行

    8、题目不允许重复

     1 /**
     2  * 班级:信1805-1
     3  * 学号:20183566
     4  * 姓名:董奥
     5  * */
     6 import java.util.Random;
     7 import java.util.Scanner;
     8 public class Test01 {
     9     public static void main(String[] args) {
    10         int [][] arr=new int[10000][3];//存储每个题目,避免重复
    11         int [] temp01=new int [3];
    12         Scanner in=new Scanner(System.in);
    13         System.out.println("*******给小学生的自动出题系统******");
    14         System.out.println("请输入题量:");
    15         int m=in.nextInt();
    16         System.out.println("请选择几题一换行:");
    17         int n=in.nextInt();
    18         int x=1,y=0,num1,num2,cmp;
    19         boolean flag=false;//定义布尔类型变量用来记录是否重复
    20         for (int i = 0; i < m; i++) {
    21             flag=false;
    22             Random r = new Random();//生成随机数
    23             int temp;
    24             num1 = r.nextInt(100)+1;
    25             num2 = r.nextInt(100)+1;//生成两数1~100以内,避免除0情况
    26             cmp=r.nextInt(4);//生成0~4,表示加减乘除
    27             temp01[0]=num1;//用temp01数组存储随机生成的三个数据
    28             temp01[1]=num2;
    29             temp01[2]=cmp;
    30             for(int j=0;j<y;j++) {//查重
    31                 if(arr[j]==temp01) {
    32                     flag=true;        
    33                     break;
    34                 }
    35             }
    36             if(flag)//如果重复
    37                 continue;
    38             else//如果不重复,则存入数组
    39             {
    40                 arr[y][0]=num1;
    41                 arr[y][1]=num2;
    42                 arr[y][2]=cmp;
    43                 y++;
    44                 switch(cmp) {
    45                 case 0://
    46                     System.out.print("第"+x+"个题目:"+num1+"+"+num2+"=   ");        
    47                     break;
    48                 case 1://
    49                     if(num1<num2) {
    50                         temp=num1;
    51                         num1=num2;
    52                         num2=temp;
    53                     }
    54                     System.out.print("第"+x+"个题目:"+num1+"-"+num2+"=    ");
    55                     break;
    56                 case 2://
    57                     if(num1<num2) {
    58                         temp=num1;
    59                         num1=num2;
    60                         num2=temp;
    61                     }
    62                     while(num1*num2>=100)
    63                         num1--;
    64                     System.out.print("第"+x+"个题目:"+num1+"*"+num2+"=    ");
    65                     break;
    66                 case 3:
    67                     if(num1<num2) {
    68                         temp=num1;
    69                         num1=num2;
    70                         num2=temp;
    71                     }
    72                     while(num1%num2!=0)
    73                         num2--;
    74                     System.out.print("第"+x+"个题目:"+num1+"/"+num2+"=    ");
    75                     break;
    76                 }
    77                 if(x%n==0)//换行
    78                     System.out.println();
    79                 x++;
    80             }
    81         }
    82     }
    83 }
  • 相关阅读:
    Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦
    理解最短路径-Dijkstra算法
    使用git命令从github上clone项目
    Vscode中问题
    windows和ubuntn互传文件
    Python中的一些模块用法
    机器学习中矩阵的求导知识
    训练集,验证集,测试集
    Javascript、Jquery获取浏览器和屏幕各种高度宽度
    DTCMS规格统一赋值
  • 原文地址:https://www.cnblogs.com/dongao/p/11535401.html
Copyright © 2020-2023  润新知