java课程设计实验报告.docx

上传人:b****6 文档编号:8671911 上传时间:2023-02-01 格式:DOCX 页数:10 大小:161.58KB
下载 相关 举报
java课程设计实验报告.docx_第1页
第1页 / 共10页
java课程设计实验报告.docx_第2页
第2页 / 共10页
java课程设计实验报告.docx_第3页
第3页 / 共10页
java课程设计实验报告.docx_第4页
第4页 / 共10页
java课程设计实验报告.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

java课程设计实验报告.docx

《java课程设计实验报告.docx》由会员分享,可在线阅读,更多相关《java课程设计实验报告.docx(10页珍藏版)》请在冰豆网上搜索。

java课程设计实验报告.docx

java课程设计实验报告

 

Java课程设计实验报告

 

学院:

信息科学与工程学院

专业:

网络工程2011-1

学号:

201101050425

姓名:

衣艳丽

 

1、需求分析

1、引言

万年历是我国古代传说中最古老的一部太阳历。

为纪念历法编撰者万年功绩,便将这部历法命名为“万年历”。

而现在所使用的万年历,实际上就是记录一定时间范围内的具体阳历或阴历的日期的年历,方便有需要的人查询使用,与原始历法并无直接联系。

当今的世界是一个科技化,智能化的社会。

自新中国成立以来,中国早已加入世界的潮流,加快对科学技术尤其是电子技术的学习。

随着社会的进步和科技的发展,人们的生活环境中充斥各种各样的电子设备,例如电脑,手机,电视等等。

为了能使家中所挂的万年历能够让人随身携带而并不造成什么不便,我打算设计 一种数码万年历软件。

将设计的软件在不影响原有软件的运行的基础上能查询日期与星期。

2、本程序要构建的万年历程序,其功能有以下几个方面:

(1)实现图形界面。

(2)能以月历形式显示日期与星期。

(3)提供年、月份的下拉形式菜单来选择。

 

3、流程图

 

2、概要设计

程序设计思路:

1、输出月份第一天为星期几的算法:

使总天数除以7取余加2得几既为星期几,若是7,则为星期日。

2、算出输出月份第一天为星期几的算法:

算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。

3、如果年份小于1900年则程序不予判断。

4、该程序在eclipse环境下编写运行。

程序编写界面:

 

 

程序运行界面:

3、详细设计

各模块的功能及程序说明:

1、初始化组件:

importjava.awt.*;

importjava.text.*;

importjavax.swing.*;

importjava.awt.event.*;

importjava.util.*;

2、初始化数据:

publicclassDataSimpleimplementsItemListener

{

JFramemainFrame;

JLabelyearLabel,monthLabel,showTextLabel,timeLabel;

JTextAreashowArea;

JComboBoxyearBox,monthBox;

JPanelpanel_top,panel_down;

Containercon;

Stringyear[]=newString[9000];

Stringmonth[]=newString[13];

Datetoday;

GregorianCalendarcal;

inttotalDays,startDay,i;

StringselectYear,selectMonth;

Object[][]day=newObject[4][6];

staticfinalStringhead[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

SimpleDateFormattimeFormat=newSimpleDateFormat("yyyy年MM月dd日HH:

mm:

ss");

3、绘制程序界面:

publicDataSimple()

{

mainFrame=newJFrame("万年历");

con=mainFrame.getContentPane();

yearLabel=newJLabel("年份:

");

monthLabel=newJLabel("月份:

");

for(inti=1900;i<10000;i++)

{

try

{

year[i-1900]=String.valueOf(i);

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(mainFrame,"出现异常");

}

}

yearBox=newJComboBox(year);

yearBox.setSelectedItem("2010");

yearBox.addItemListener(this);

for(inti=1;i<=12;i++)

{

month[i]=(newInteger(i)).toString();

}

monthBox=newJComboBox(month);

monthBox.setSelectedItem("1");

monthBox.addItemListener(this);

panel_top=newJPanel();

panel_top.setLayout(newFlowLayout());

panel_top.add(yearLabel);

panel_top.add(yearBox);

panel_top.add(monthLabel);

panel_top.add(monthBox);

con.add(panel_top,BorderLayout.NORTH);

showArea=newJTextArea();

showArea.setEditable(false);

showDate(2010,1);

con.add(showArea,BorderLayout.CENTER);

showTextLabel=newJLabel("现在时间是:

");

today=newDate();

timeLabel=newJLabel(timeFormat.format(today));

panel_down=newJPanel();

panel_down.setLayout(newFlowLayout());

panel_down.add(showTextLabel);

panel_down.add(timeLabel);

con.add(panel_down,BorderLayout.SOUTH);

mainFrame.setSize(400,300);

mainFrame.setVisible(true);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

publicvoidshowDate(intyear,intmonth)

{

showArea.setText("");

cal=newGregorianCalendar(year,month-1,1);

totalDays=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

startDay=cal.get(Calendar.DAY_OF_WEEK)-1;

for(i=0;i

showArea.append(head[i]+"");

showArea.append("\n");

//输出第一天之前的空格,每个输出项8个空格

for(i=0;i

{

showArea.append("");

}

//依次输出每一天,每一个输出项占8个字符宽度

for(intdays=1;days<=totalDays;days++)

{

if(days<10)

{

showArea.append(""+days+"");

}

elseif(days>=10)

{

showArea.append(""+days+"");

}

i++;

if(i==7)

{

showArea.append("\n");

i=0;

}

}

}

 

4、测试分析

图1.月份下拉列表

图2.选择年、月份后的情况

图3.年、月份改变后的情况

5、课程设计体会

(1)选题目的:

本次课程设计为课本后设计题目任选一题进行设计。

思考一段时间后,我决定做一个万年历的设计。

主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很扎实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。

(2)对于本程序的设计,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用哪些知识点,如相关的类和对象等。

最后,就是根据初步设计的功能和布局构架,考虑用源代码进行实现了。

经过了长时间的反复编写调试,课本和网上查阅相关资料相关文章,终于完成了整个课程设计。

在这个过程中,在把书本上的知识给系统的复习了一下,同时也发现了自己的太多不足,对JAVA语言整体知识构架不够熟悉,不能灵活地运用所学的知识点。

自己的编程方式也不是太标准,经常出现代码写错而调试很久的低级错误情况出现。

通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。

还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度。

还有通过设计过程中大量地查阅网络文章,对一些关键知识点逐个地了解并解决相关问题。

所以网络这个强大的工具,确实是我们学习之中可以借助的一个很好的帮手。

网络是我们学习的最好的老师之一。

有问题,问网络,是一个很好的习惯。

六、参考文献

[1].曾令明索望甘刚宋波,Java程序设计教程,西安电子科技大学出版社,2007.8

[2].孙全党王吴迪赵枫朝,Java程序设计应用教程,电子工业出版社,2006.2

[3].赵玉阳,Java从入门到精通,清华大学出版社,2006.8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1