一、题目描述
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
(1).能够自动生成四则运算练习题
(2).可以定制题目数量
(3).用户可以选择运算符
(4).用户设置最大数(如十以内、百以内等)
(5).用户选择是否有括号、是否有小数
(6).用户选择输出方式(如输出到文件、打印机等)
(7).最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、题目分析及任务分配
(1)、随机数的生成:通过Java中的随机数生成类对规定的最大数取余数即可获得不超过最大值的随机数。
(2)、运算符的选择:通过JCheckBox,通过判断是否被选中将选中的运算符加到字符数组中,在生成不超过字符数组的长度的随机数即可选定运算符。
(3)、图形界面的设计:通过继承JFrame类实现窗口,在往窗口中添加文本框,标签等内容。
(4)、有我担任驾驶员,刘以晨同学担任领航员。
源代码:随机数的生成
框架以及功能的实现
三、成果展示
1、界面设计
2、四则运算的生成
3、小数点的生成
4、括号的生成
四、代码总结
此次代码主要实现了题目描述的(1、2、3、4、5、7)这几项内容,并没有将所有的功能实现,而且在多项式方面只能生成三个随机数,括号的位置固定,并不能生成随机位置的括号,对于所出的算术表达式不能算出结果。这是此次编程的缺点。
五、对伙伴的评价
这是第一次真正意义上的结对编程,对于“驾驶员”和“领航员”的概念感到身份新奇也很有程序员的自豪感。在此次的结对编程中,我担任的是驾驶员,负责完成代码工作,使得要求的功能得以实现。此次结对编程在我和刘以晨同学的合作努力下完成了四则运算自动生成程序的设计和编写。在编程过程中,刘同学全程辅导我的代码编写,在一些功能的实现上也为我出谋划策,同时在我编写的过程中,刘同学在一旁观看督促我,为我检查代码中的BUG,为我整理设计了代码的整体布局,并帮我查阅Java图形界面相关的资料,使我能够在编写的过程中有所参照,感觉代码编写效率有了很大的提升。同时,刘同学也及时找出了程序中的漏洞和被我忽视的BUG,使我代码的质量得到了保证。刘同学作为此次的领航者,对我的代码的整体思路以及实现方法提出了很好的建议。在结对编程过程中发挥着不可忽视的作用。
老师通过作业的形式让我们知道了结对编程的模式以及其作用,而我们也通过此次作业认识到了合作的重要性和必要性。面对一个自己无从下手的问题,一人独自研究不如结对共同探讨,两个人各司其职但又紧密合作,在合作中实现成功。