https://github.com/wxy4845/goodgood.git
PSP:
代码改进:
上一篇博客使用python语言编写了小学四则运算。那么此次改进使用Java语言编写。
代码展示:
1 import java.util.Random; 2 import java.util.Scanner; 3 public class Test01 { 4 public static void main(String[] args) { 5 int [][] arr=new int[10000][3];//存储每个题目,避免重复 6 int [] temp01=new int [3]; 7 Scanner in=new Scanner(System.in); 8 System.out.println("*******给小学生的自动出题系统******"); 9 System.out.println("请输入题量:"); 10 int m=in.nextInt(); 11 System.out.println("请选择几题一换行:"); 12 int n=in.nextInt(); 13 int x=1,y=0,num1,num2,cmp; 14 boolean flag=false;//定义布尔类型变量用来记录是否重复 15 for (int i = 0; i < m; i++) { 16 flag=false; 17 Random r = new Random();//生成随机数 18 int temp; 19 num1 = r.nextInt(100)+1; 20 num2 = r.nextInt(100)+1;//生成两数1~100以内,避免除0情况 21 cmp=r.nextInt(4);//生成0~4,表示加减乘除 22 temp01[0]=num1;//用temp01数组存储随机生成的三个数据 23 temp01[1]=num2; 24 temp01[2]=cmp; 25 for(int j=0;j<y;j++) {//查重 26 if(arr[j]==temp01) { 27 flag=true; 28 break; 29 } 30 } 31 if(flag)//如果重复 32 continue; 33 else//如果不重复,则存入数组 34 { 35 arr[y][0]=num1; arr[y][1]=num2; 36 arr[y][2]=cmp; 37 y++; 38 switch(cmp) { 39 case 0://加 40 System.out.print("第"+x+"个题目:"+num1+"+"+num2+"= "); 41 break; 42 case 1://减 43 if(num1<num2) { 44 temp=num1; 45 num1=num2; 46 num2=temp; 47 } 48 System.out.print("第"+x+"个题目:"+num1+"-"+num2+"= "); 49 break; 50 case 2://乘 51 if(num1<num2) { 52 temp=num1; 53 num1=num2; 54 num2=temp; 55 } 56 while(num1*num2>=100) 57 num1--; 58 System.out.print("第"+x+"个题目:"+num1+"*"+num2+"= "); 59 break; 60 case 3: 61 if(num1<num2) { 62 temp=num1; 63 num1=num2; 64 num2=temp; 65 } 66 while(num1%num2!=0) 67 num2--; 68 System.out.print("第"+x+"个题目:"+num1+"/"+num2+"= "); 69 break; 70 } 71 if(x%n==0)//换行 72 System.out.println(); 73 x++; 74 } 75 } 76 } 77 }
结果展示: