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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM