没有合适的资源?快使用搜索试试~ 我知道了~
用java编写的学生课程设计日期计算器
4星 · 超过85%的资源 需积分: 9 15 下载量 44 浏览量
2011-07-09
17:11:27
上传
评论 1
收藏 333KB DOC 举报
温馨提示
试读
25页
用java编写的显示日期的计算器,本计算器拥有很好的功能更新。本计算器的适用于学生的课程设计使用。
资源推荐
资源详情
资源评论
实验项目:日期计算器
一、实验内容
、完成日期计算器的编写。
、完成实验报告的写作,并通过本机房网络提交,或课后 提交
二、实验要求
、理解并掌握图形界面的设计。
、理解整体算法的思路,即 的算法。
、输入日期,完成星期几的计算,并输出星期值注意日期输入的合法
性
、输入日期加天数,完成日期加天数的计算,并输出新日期注意日期的
合法输入,以及注意日期不能加日期,既第二次输入的只能是天数
、输入日期、减、以及天数或日期,如果为天数,计算日期减天数,否
则计算日期减日期,得到新日期或相应天数差值,并输出。
、进一步学习 的编程思想。
三、实验目的
、理解并掌握图形界面的设计。
、理解整体算法的思路,即 的算法。
、输入日期,完成星期几的计算,并输出星期值注意日期输入的合法
性
、输入日期加天数,完成日期加天数的计算,并输出新日期注意日期的
合法输入,以及注意日期不能加日期,既第二次输入的只能是天数
、输入日期、减、以及天数或日期,如果为天数,计算日期减天数,否
则计算日期减日期,得到新日期或相应天数差值,并输出。
、进一步学习 的编程思想。
四、实验条件
编译器:
环境:
操作系统:!"#$%
五、思路分析
、为使程序美观,使用了多个 和不同的 &'()(比
如 *"&'、+&'、,&')进行布局设计,同时
限定了窗体的大小;
、封装了一个创建数字按钮的方法 )-'.+',可以
快速地进行增加数字按钮的操作;
、为将文本框中的字符串转换为日期编写了 方法,其中包括
日期输入错误的异常处理,此方法可以在保存当前日期、获取减法操作的
日期时被复用;
、因为要实现键盘和鼠标的双重操作,将操作时使用的几个方法
(/##+'0/##12'+'0/##3+'等)封装起来,
使其可供多个监听器调用;
、为能通过键盘操作,对所有按钮注册了监听器;
、为判断当前是否处于输入状态(否则处于程序提示状态),使用布尔
型属性 /') 标记当前状态,当其为 # 时,向文本框中输入字符
会先清空文本框;
4、为实现56操作、使用了 /'# 和 '# 两个布尔型属性来标记当前状
态,同时使用一个 7 属性保存当前日期,在每步操作时都对其进
行改变,最后8时输出。
9、考虑到可能存在多次连续56操作,设计了更完善的算法。
六、程序代码
【7':】
/:";<
/:";<
/:=%/*<
/:'7<
/:'<
/:=#");<
4>
8./**
9.*
日期计算器
10. *
11. * @author Cyin
12. * @author Lee
13. * @author YOYO
14. * @author Skittles
15. *
16. * @since 2008-11-24
17. * @version 0.1
18. *
19. */
publicclass7'extendsJFrame?
>>>>
>>>>/**
23. % % % %% *
主面板
24. % % % %% */
>>>>JPanel=8newJPanel<
>>>>
4 >>>>/**
28. % % % %% *
三个子面板
29. % % % %% */
>>>>JPanel#/8newJPanel<
>>>>JPanel'8newJPanel<
>>>>JPanel/8newJPanel<
>>>>
>>>>/**
% % % %% *
结果文本框
36. % % % %% */
4 >>>>JTextField#'8newJTextField@ @A <
9 >>>>
B >>>>/**
40. % % % %% *
主要按钮
41. % % % %% */
>>>>JButton.718newJButton@71@<
>>>>JButton.'#8newJButton@5@<
>>>>JButton.('#8newJButton@6@<
>>>>JButton.12'8newJButton@8@<
>>>>JButton.$8newJButton@C@<
4 >>>>
9 >>>>/**
49. % % % %% *
是否在输入日期或天数状态的标记
50. % % % %% */
>>>>./')8false<
>>>>
>>>>/**
54. % % % %% *
是否在进行
+-
操作的标记
55. % % % %% */
>>>>./'#8false<
4 >>>>
9 >>>>/**
59. % % % %% *
是否在进行
-
操作的标记
60. % % % %% */
>>>>.'#8false<
>>>>
>>>>/**
64. % % % %% *
当前日期
65. % % % %% */
>>>>Calendar8Calendar)D#<
4 >
9 >>>>/**
B % % % % *
键盘监听器
70. % % % % */
4 >>>>.&#Enew
.&#<
4 >
4 >>>>/**
74. % % % % *
按钮监听器
75. % % % % */
4 >>>>+'&#.new
+'&#<
44 >>>>
49 >>>>/**
79. % % % %% *
构造器
80. % % % %% */
9 >>>>public7'?
9 >>>>>>>>
this#'7#3/JFrame1$DFG3-G7&3%1<
9 >>>>>>>>this#%H A <
9 >>>>>>>>this#F@日期计算器@<>>>>
9 >>>>>>>>this#I#H.false<
9 >>>>>>>>
94 >>>>>>>>this#&'newFlowLayout<
99 >>>>>>>>this=<
9B >>>>>>>>
B >>>>>>>>!"<
B >>>>>>>>
B >>>>>>>>this##.true<
B >>>>J
B >>>>
B >>>>/**
96. % % % %% *
初始化窗体
97. % % % %% */
B9 >>>>private!"?
BB >>>>>>>>=#&'newBorderLayout A <
>>>>>>>>
>>>>>>>>//% % %
显示面板
>>>>>>>>#/#&'new
FlowLayoutFlowLayout71-F1I<
>>>>>>>>#/#'<
>>>>>>>>
#'#KH)JTextFieldID,KF<
>>>>>>>>#'#*'#.false<
>>>>>>>>=#/A@-L@<
4 >>>>>>>>
9 >>>>>>>>//% % %
数字面板
B >>>>>>>>'#&'new
GridLayoutAAA<
>>>>>>>>8<M8B<55?
>>>>>>>>>>>>')-'.+'<
>>>>>>>>J
>>>>>>>>'.71<
>>>>>>>>.71&#E&#<
>>>>>>>>')-'.+' <
>>>>>>>>
4 >>>>>>>>.71&#new
ActionListener?
9 >
B >>>>>>>>>>>>publicActionEvent
?
>>>>>>>>>>>>>>>>/')8/'#8'#8false<
>>>>>>>>>>>>>>>>#'#F=@ @<
>>>>>>>>>>>>>>>>
#'#KH)JTextFieldID,KF<
>>>>>>>>>>>>J
>>>>>>>>>>>>
>>>>>>>>J<>>>>>>
>>>>>>>>='A@7@<
4 >>>>>>>>
9 >>>>>>>>//% % %
操作面板
B >>>>>>>>/#%H A <
>>>>>>>>/#&'newGridLayoutAAA<
>>>>>>>>/.'#<
>>>>>>>>/.('#<
>>>>>>>>/.$<
>>>>>>>>/.12'<
>>>>>>>>.'#&#.&#<
>>>>>>>>.'#&#E&#<
4 >>>>>>>>.('#&#.&#<
9 >>>>>>>>.('#&#E&#<
B >>>>>>>>.$&#.&#<
剩余24页未读,继续阅读
资源评论
- xieyongwww2012-04-21一般。界面不太好。
- linz7772013-07-07功能有,界面有待改进。
- 曾恒2013-12-19界面不太友好
Gump10000
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功