结对编程——四则运算
2016-04-10 23:04
176 查看
[b]一、问题描述:[/b]
某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做。
[b]二、结对对象:周芳 [/b]
博客地址:http://home.cnblogs.com/u/tiffanybear/
双方贡献:1:1
结对编程照片:
![](http://images2015.cnblogs.com/blog/899090/201604/899090-20160410222232609-47390661.jpg)
[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]
![](http://images2015.cnblogs.com/blog/899090/201604/899090-20160410223409562-1182485048.png)
![](http://images2015.cnblogs.com/blog/899090/201604/899090-20160410223421968-571507857.png)
[b]五、心得体会:[/b]
通过这次结对编程,更深刻地体会到了结对编程的好处,也向队友学习到了许多,比如编程的严谨性,思路等。当然,通过结对编程思路也更清晰,出错次数也相对减少!希望以后能经常用这种好的编程方法互相学习!
相关文章推荐
- java折半插入排序
- MyEclipse8.5注册码,到2018年
- Qt浅谈之五十界面自定义
- Java多线程
- python操作excle
- Java中的Atomic包使用指南
- 20145211 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- Cuda学习笔记(三)——Cuda编程Tips
- C++类的继承的基本认识
- 20145302张薇《Java程序设计》实验一报告
- 泛型总结
- 项目记录34--tolua 框架 场景管理BaseScene
- 如何把Java程序打成JAR包并能自动运行
- 20145118 《Java程序设计》第6周学习总结
- leetcode编程题(3)Longest Substring Without Repeating Characters
- 20145329 《Java程序设计》实验一总结
- Java中类序列化构造函数的调用问题
- C#学习总结
- JAVA(HDU)杭电ACM 1421
- 20145301《Java程序设计》实验报告一:Java开发环境的熟悉