结对项目
一、实践目的
1.熟悉Java GUI相关类的API。
2.理解并实践事件驱动程序设计中的监听器、监听器方法、监听器适配器接口。
二、实践要求
利用Java GUI的组件类、容器类和辅助类设计所选项目的用户界面,并在深入理解并掌握事件驱动程序设计原理的基础上,实现事件驱动的程序设计。
三、项目需求
所选项目名称:万年历。
项目需求描述,主要指应实现的主要功能。
实现了日历的查询,方便使用。界面主要是由查询输入部分和结果显示部分两部分组成。
查询输入:①一个文本域,用于输入年份。
②一个选择下拉列表框:用于选择月份。
③ 一个选择按钮:用来选择查询事件。
四、代码地址
https://github.com/QLUYLY4023/Wannianli/tree/master
五、结对分工过程
首先应该是结对编程可提高效率,结对编程的时候,两个人可以分开做不同的unit,也可以同时做相同的unit。对于核心的unit需要我们共 同讨论,经过讨论后再去实现,或者两个人分别写出自己的想法,用代码实现,这时候,综合两个人效率高的那个人的算法。分工大部分是袁玲钰负责代码,黄静怡负责后期测试修复bug,同时,两个人在一起的时候,一个人写累了可以换一换角色,效果也不错。
六、项目设计方案
为完成项目功能,主要需实现哪些类,对每个类的数据域、方法、构造方法,不同类之间的关系等进行描述,并用UML图表示出来。
结构化设计UML图
七、核心算法详细设计
使用类java.text.SimpleDateFormat和它的抽象基类 java.text.DateFormat 完成日期数据的格式定制。
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateExample2{
public static void main(String[] args) {
SimpleDateFormat bartDateFormat = new SimpleDateFormat
("EEEE-MMMM-dd-yyyy");
Date date = new Date();
System.out.println(bartDateFormat.format(date));
}
}
八、使用说明与运行结果截图
使用说明:运行此程序时,会弹出一个查询的对话框,在年,月两个下拉列表中选择所要查询的年月,然后单击后面的查询按钮即可更新页面。
运行结果截图:
九、实践总结
在本次实验中,我学会了如何利用java做万年历。正确理解并能够熟练操作和使用Java GUI类 。我觉得学习java要不断地通过上机来增强自己对知识的学习与认识。书本要学有所用,才是真正的融会贯通。对结对编程的体会 :
(1)首先应该是结对编程的高效率了,结对编程的时候,两个人可以分开做不同的unit,也可以同时做相同的unit。在项目的一些简单的 unit,一个人能够很简单的unit就可以分给不同的人去做;对于核心的unit,比如说此次项目电梯调度的算法部分,这是一个核心的部分,需要我们共同讨论,经过讨论后再去实现,或者两个人分别写出自己的想法,用代码实现,这时候,综合两个人效率高的那个人的算法。另外,在结对编程时候,有一定相互监督作用,比起一个写程序,更不会想去玩一些其它的东西。
(2)想法源于两个人的激烈讨论,很多时候,我们在讨论中,常常忽然就会有一个灵感突然来袭,或者是会有一些之前不懂得地方,可能一下就懂了。
(3)结对编程的时候乐子多,我们合作的很开心,这样能提高我们的激情,同时也就提高了效率,工作起来很带劲。
(4)在调试的时候,不再是一个人调试时那样无奈了,遇到了bug时,两个人一起,这时候有两个人的经验,应付这些bug就能更得心应手一些了。后期维护起来也更加方便。