您的位置:首页 > 编程语言

结对编程——四则运算

2016-04-10 23:04 176 查看

[b]一、问题描述:[/b]


某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做。


[b]二、结对对象:周芳 [/b]


博客地址:http://home.cnblogs.com/u/tiffanybear/

双方贡献:1:1

结对编程照片:




[b]三、采用语言:java(代码实现如下)[/b]



package four_calculate;

public class Calculate {

public String randomNum() {
int dividend = (int) (Math.random() * 10);// 随机生成被除数
int divisor = (int) (Math.random() * 10);// 随机生成除数
if (dividend >= divisor) {
int temp = dividend;
dividend = divisor;
divisor = temp;
}
return ("(" + dividend + "/" + divisor + ")");
}

public static void main(String[] args) {

String divFirstNum = null;
String divSecondNum = null;

int k;
int count = 100;
Calculate calculate = new Calculate();
for (int n = 1; n <= count; n++) {

divFirstNum = calculate.randomNum();
divSecondNum = calculate.randomNum();

int first = (int) (Math.random() * 100);//算术表达式中的第一个数
int second = (int) (Math.random() * 100);//算术表达式中的第二个数

switch ((int) (Math.random() * 4)) {

case 0:
k = (int) (Math.random() * 3);
if (k == 0)
System.out.println(n +": "+ first + "+" + second + "=");
else if (k == 1)
System.out.println(n +": "+divFirstNum + "+" + second + "=");
else if (k == 2)
System.out.println(n +": "+divSecondNum + "+" + divFirstNum + "=");
break;
case 1:
k = (int) (Math.random() * 3);
if (first < second) {
int temp = first;
first= second;
second = temp;
}
if (k == 0)
System.out.println(n +": "+first + "-" + second + "=");
else if (k == 1)
System.out.println(n +": "+second + "-" + divFirstNum + "=");
else if (k == 2)
System.out.println(n +": "+divSecondNum + "-" + divFirstNum + "=");
break;
case 2:
k = (int) (Math.random() * 3);
if (k == 0)
System.out.println(n +": "+first + "*" + second + "=");
else if (k == 1)
System.out.println(n +": "+divFirstNum + "*" + second + "=");
else if (k == 2)
System.out.println(n +": "+divSecondNum + "*" + divFirstNum + "=");
break;
case 3:
while (second == 0)
second = (int) (Math.random() * 100);
System.out.println(n +": "+first + "/" + second + "=");
break;
}
}
}

}



[b]四、运行结果截图:[/b]








[b]五、心得体会:[/b]


通过这次结对编程,更深刻地体会到了结对编程的好处,也向队友学习到了许多,比如编程的严谨性,思路等。当然,通过结对编程思路也更清晰,出错次数也相对减少!希望以后能经常用这种好的编程方法互相学习!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: