结对编程——四则运算过程
一、问题描述:
某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做。
二、结对对象:杨思思
博客地址:http://www.cnblogs.com/ciciCassie/
双方贡献:1:1
结对编程照片:

三、采用语言:java(代码实现如下)
1 package four_calculate;
2
3 public class Calculate {
4
5 public String randomNum() {
6 int dividend = (int) (Math.random() * 10);// 随机生成被除数
7 int divisor = (int) (Math.random() * 10);// 随机生成除数
8 if (dividend >= divisor) {
9 int temp = dividend;
10 dividend = divisor;
11 divisor = temp;
12 }
13 return ("(" + dividend + "/" + divisor + ")");
14 }
15
16 public static void main(String[] args) {
17
18 String divFirstNum = null;
19 String divSecondNum = null;
20
21 int k;
22 int count = 100;
23 Calculate calculate = new Calculate();
24 for (int n = 1; n <= count; n++) {
25
26 divFirstNum = calculate.randomNum();
27 divSecondNum = calculate.randomNum();
28
29 int first = (int) (Math.random() * 100);//算术表达式中的第一个数
30 int second = (int) (Math.random() * 100);//算术表达式中的第二个数
31
32 switch ((int) (Math.random() * 4)) {
33
34 case 0:
35 k = (int) (Math.random() * 3);
36 if (k == 0)
37 System.out.println(n +": "+ first + "+" + second + "=");
38 else if (k == 1)
39 System.out.println(n +": "+divFirstNum + "+" + second + "=");
40 else if (k == 2)
41 System.out.println(n +": "+divSecondNum + "+" + divFirstNum + "=");
42 break;
43 case 1:
44 k = (int) (Math.random() * 3);
45 if (first < second) {
46 int temp = first;
47 first= second;
48 second = temp;
49 }
50 if (k == 0)
51 System.out.println(n +": "+first + "-" + second + "=");
52 else if (k == 1)
53 System.out.println(n +": "+second + "-" + divFirstNum + "=");
54 else if (k == 2)
55 System.out.println(n +": "+divSecondNum + "-" + divFirstNum + "=");
56 break;
57 case 2:
58 k = (int) (Math.random() * 3);
59 if (k == 0)
60 System.out.println(n +": "+first + "*" + second + "=");
61 else if (k == 1)
62 System.out.println(n +": "+divFirstNum + "*" + second + "=");
63 else if (k == 2)
64 System.out.println(n +": "+divSecondNum + "*" + divFirstNum + "=");
65 break;
66 case 3:
67 while (second == 0)
68 second = (int) (Math.random() * 100);
69 System.out.println(n +": "+first + "/" + second + "=");
70 break;
71 }
72 }
73 }
74
75 }
四、运行结果截图:


五、心得体会:
很多时候遇到逻辑比较复杂,容易马虎出错的模块任务时,往往就是两个人一起结对做的。那个时候是因为一个人写代码,写时间长了后,注意力容易不集中,解决问 题的思路和效率不高,容易在烦闷中出一些比较“弱智”的问题。所以那时候两个人一起比较能够注意力集中,一个人在打代码的时候,另一个顺便检查是否有语法或逻辑 错误,同时还可以思考一下接下来问题的解决办法。
总之,结对编程还是很能促进我们学习的,让我们都能够集中注意力,避免一些简单低级的错误,提供更好的解决问题的思路!


浙公网安备 33010602011771号