Java课程设计万年历

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J a v a课程设计万年历 Revised by Chen Zhen in 2021

河北科技大学

课程设计报告学生姓名:学号:

专业班级:

课程名称: Java程序设计课程设计

学年学期: 2 014 —2 015 学年第 2 学期指导教师:刘伟

2 0 年月

课程设计成绩评定表

目录

1.课程设计目的 (1)

2.需求分析 (1)

3.总体设计 (1)

4.详细设计 (1)

5.软件测试 (10)

6.课程设计总结 (11)

一、课程设计目的

(1)熟练使用java语言编写程序,解决实际问题。

(2)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;

(3)学会自己调试程序的方法并掌握一定的技巧。

二、需求分析

本程序的要求为:

1.使用图形用户界面;

2.本程序能够实现日期与星期的查询。

三、总体设计

(1)可以通过图形界面显示日历。

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

(3)支持用户自己输入年份,可以通过上一年,下一年等按钮来选择年份和月份。

四、详细设计

1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。

2.输出月份第一天为星期几的算法:使总天数除以7取余得几既为星期几,若是0,则为星期日。

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

4.查询年份必须为四位有效数字,否则不予显示。

程序源代码:

import

import

import

import

import

import;

import

import

import ;

import

import ;

import

import .*;

import

import .*;

import ;

import .*;

import .*;

import .*;

import .*;

import

public class wannianli extends JFrame implements ActionListener{

private Calendar cal= ();

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

private DefaultTableModel dtm = new DefaultTableModel(null,str);

private JTable table = new JTable(dtm);

ormat(new"-");

(strDate[0]), (strDate[1])-1, 0);

showCalendar(strDate[0]), (strDate[1]), cal);

(false);ength() != 4)

{ throw new NumberFormatException();

}

y = ());

m = ());

}

catch (NumberFormatException ex)

{

ength() != 4)

{ throw new NumberFormatException();

}

y = ());

m = ());

} catch (NumberFormatException ex)

{

(this, "请输入4位0-9的数字!", "年份有误", ;

return;

}

for (int i = 0; i < lastTime+1; i++)

{

(0);

}

if() == bLastYear)

{

(--y));

}

if() == bNextYear)

{

(++y));

}

if() == bLastMonth)

{

if(m == 1) {

(--y));

m = 12;

(m));

}

else

{

(--m));

}

}

if() == bNextMonth)

{

if(m == 12)

{

(++y));

m = 1;

(m));

}

else

{

(++m));

}

}

(y, m-1, 0);

showCalendar(y, m, cal);

(m));

// (m));

}

}

五、软件测试

图1 界面图

图2 界面图下拉选择2月份

六、课程设计总结

本次Java课程设计我们这组做的课题是万年历,刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定了设计的设计目标以及具体实现方式,包括如何将Java的思想运用到实际系统的详细设计之中。

实验过程中,首先要将系统要实现的功能分为几大模块,然后每个组员分别完成,在此过程中使我加深了对Java的理解,以及如何进行团队工作的划分,学会发现各组员的长处并将其发挥出来。虽然大家没怎么学过Java,但大家都有C语言基础,所以通过努力实验,进一步培养我们利用Java语言进行编程和调试程序的能力,同时使我们能够学会将C语言与Java语言结合起来编写较复杂具有实际意义和算法复杂度较小的程序。与此同时熟练掌握Java语言的编辑,编译,调试程序,并将算法转变为程序实现。正确理解各种数据结构的逻辑特性和存储表示和基本操作的算法实现。掌握算法的时间分析和空间分析的技术。针对问题的特点选择合适的数据结构,设计实用高效的算法,提高大家的算法设计的能力和动手实验的技能。

相关文档
最新文档