自动出题小程序

Posted haheihei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动出题小程序相关的知识,希望对你有一定的参考价值。

小学生自动出题小程序并不难,用随机数产生随机数字,规定范围并且适当判断后输出即可,避免题目重复,可以使用数组将每组输出的数字储存在数组中,下次产生的随机数与数组中的数字元素作比较即可,如果重复则再次产生随机数,反之则输出并且再次储存。

代码如下:

 1 package Test;
 2 
 3 import java.util.*;
 4 
 5 public class TestPlus 
 6     static Scanner in=new Scanner(System.in);
 7     public TestPlus() 
 8         // TODO Auto-generated constructor stub
 9     
10     static int getNumber()      //获取除数与被除数
11     
12         return (int)(Math.random()*100+1);
13     
14     static int getKey()       //用0~3的随机数来表示四则运算符
15     
16         return (int)(Math.random()*10%4);
17     
18     static void output(int count,int num1,int key,int num2)     //输出方法
19     
20         char ch = 0;
21         switch(key)
22         
23         case 0:ch=‘+‘;break;
24         case 1:ch=‘-‘;break;
25         case 2:ch=‘*‘;break;
26         case 3:ch=‘/‘;break;
27         default:break;
28         
29         System.out.print(count+"、"+num1+ch+num2+"=   ");
30     
31     static boolean handle(int num1,int key,int num2)         //判断产生的数字是否符合要求
32     
33         boolean b=true;
34         switch(key)
35         
36         case 0:break;
37         case 1:
38         
39             if(num1<num2)
40                 b=false;
41         break;
42         case 2:
43         
44             if(num1*num2>=100)
45                 b=false;
46         break;
47         case 3:
48         
49             if(num1%num2!=0)
50                 b=false;
51         break;
52         default:break;
53         
54         return b;
55     
56     public static void main(String[] args) 
57         // TODO Auto-generated method stub
58         int a[][]=new int[100000][3];                 //创造数组储存已输出的数字
59         int num1,key,num2,count=1;
60         boolean flag=true;
61         int r,sum;
62         sum=in.nextInt();
63         r=in.nextInt();
64         do
65         
66             boolean tempFlag=true;
67             num1=getNumber();
68             key=getKey();
69             num2=getNumber();
70             if(count>=2)
71                 for(int i=0;i<count-1;i++)                      //判断新产生的数字是否和以前的题目重复
72                     if(a[i][0]==num1&&a[i][1]==key&&a[i][2]==num2)
73                         
74                             tempFlag=false;
75                             break;
76                         
77             if(handle(num1,key,num2)&&tempFlag)
78             
79                 output(count,num1,key,num2);
80                 a[count-1][0]=num1;a[count-1][1]=key;a[count-1][2]=num2;
81                 if(count%r==0)
82                     System.out.println();
83                 if(count>=sum)
84                     flag=false;
85                 count++;
86             
87         while(flag);
88     
89 
90 

 

以上是关于自动出题小程序的主要内容,如果未能解决你的问题,请参考以下文章

小程序答题系统能用代码快答吗

用Python开发小学二年级口算自动出题程序

微信小程序自动退出

如何对微信小程序进行自动化测试

如何对微信小程序进行自动化测试

微信小程序可以实现自动化测试吗?