软件工程---小学四则运算2.0

 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 }

结果展示:

原文地址:https://www.cnblogs.com/wxyzzj/p/13740854.html