自动生成四则运算
题目要求:
第一阶段:随机出30道100以内的算术题
第二阶段:避免题目重复
第三阶段:
1、可定制(数量/打印方式):输入大的数量值,测试一下系统是否崩溃,反向查找系统是否优化的余地;
2、定制操作数的个数:
3、定制是否有乘除法
4、定制是否有括号(随机加入)
5、定制数值范围(确定操作数的取值范围)
代码:
完成到第二阶段
1 import java.util.Scanner; 2 public class Maths { 3 public static void main(String[] args) { 4 Scanner in=new Scanner(System.in); 5 int N; 6 System.out.print("请输入题目数量:"); 7 N=in.nextInt(); 8 int[] a=new int[N]; 9 int[] b=new int[N]; 10 int[] c=new int[N]; 11 for(int i=0;i<N;i++) { 12 int f=0; 13 a[i]=(int)(Math.random()*100+1); 14 b[i]=(int)(Math.random()*100+1); 15 c[i]=(int)(Math.random()*4+1); 16 for(int j=0;j<i;j++) { 17 if(a[i]==a[j]&&b[i]==b[j]&&c[i]==c[j]) 18 f=1; 19 } 20 if(f==1)continue; 21 switch(c[i]) { 22 case 1:{ 23 System.out.println("("+(i+1)+")"+a[i]+"+"+b[i]+"="); 24 break; 25 } 26 case 2:{ 27 System.out.println("("+(i+1)+")"+a[i]+"-"+b[i]+"="); 28 break; 29 } 30 case 3:{ 31 System.out.println("("+(i+1)+")"+a[i]+"*"+b[i]+"="); 32 break; 33 } 34 case 4:{ 35 System.out.println("("+(i+1)+")"+a[i]+"/"+b[i]+"="); 36 break; 37 } 38 } 39 } 40 } 41 }