ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:21.24KB ,
资源ID:4542373      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4542373.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java课程设计报告2.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

java课程设计报告2.docx

1、java课程设计报告2明达职业技术学院实训(实践)报告20102011学年度第一学期 信息工程 系 计算机应用技术 专业 班级 09计算机应用技术 学号 41083103 课题名称 Java课程设计 学生姓名 范钰钰指导教师 徐山 2010年6月11日Java课程设计任务书专业班级 09计算机 姓名 范钰钰 学号 03 指导老师 徐山 实训(实践)题目 万年历表 设计实训(实践)的主要内容:1、 利用Java语言编写一个万年历表的程序2、 利用Frame设计出万年历表的外框架并且加上swing、awt控件3、 实现100年以内日期的查询4、 实现所查当天的星期几的查询5、输出月份表要求完成的主

2、要任务:1、 完成设计内容2、 设计出万年历的外框3、 安插基本的查询控件4、 设计说明书,字数为2000字以上作业提交方式:java设计程序原代码及其字节码文件指导老师签名: Java课程设计任务书 1、可行方案的筛选方法及设计思路2、 注意已学过的相关知识提要以及与本课题有关的新知识3、 进度安排 明确设计内容,完成相关资料素材的搜索;(4学时) 完成Frame设计万年历表的外框架并且加上swing、awt控件;(4学时) 实现100年以内日期的查询;(2学时) 完成所查当天的星期几的查询;(3学时) 输出每月的月份表,完成界面绘制;(4学时) 完善代码文件,实现个性小功能;(3学时) 完

3、成实验说明书;(2学时)4、设计说明书撰写时注意随时注意保留在设计过程中的思路、计算过程及文字草稿。Java课程设计任务书(设计说明)一、万年历程序设计报告1.1需求分析本程序的要求为:1.使用图形用户界面;2.本程序能够实现日期与星期的查询。1.2功能设计本程序要构建的万年历程序,其功能有以下几个方面:(1)通过网页形式运行,实现图形界面。(2)能以月历形式显示日期与星期。 (3)支持用户自己输入年份,并提供月份的下拉形式菜单来选择月份。 (4)通过点击“更新”来刷新日历。2.概要设计2.1程序设计思路1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总

4、天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的

5、日历。4. 如果年份小于1582年则程序不予判断。3.各模块的功能及程序说明3.1.初始化组件import java.awt.*;import java.awt.event.*;3.2. 绘制程序界面class aa4 extends Frame implements ActionListener public int x,y,z,r; static aa4 fra=new aa4(); static TextField txt1=new TextField(10 ); static TextField txt2=new TextField(10 ); static Label lb; Str

6、ing days=星期日,星期一,星期二,星期三,星期四,星期五,星期六; String ww; String ee ; public static void main(String args) fra.setTitle( 万年历); fra.setBounds(0,0,320,400); fra.setLayout(new FlowLayout();/页面设置 txt1.setBounds(50,50,20,20);/设置文本框的大小 /txt1.addTextListener(fra); txt2.setBounds(60,60,20,20);/设置文本框的大小 /txt2.addText

7、Listener(fra); Button b=new Button(查询); b.setBounds(200,40,60,40); b.addActionListener(fra); lb=new Label(0000,Label.CENTER); lb.setBounds(75,70,130,25); lb.setForeground(Color.blue ); fra.add(txt1) ; /将 文本框添加到窗口中 fra.add(txt2) ; txt1.setText(2011); txt2.setText(6); fra.add(b); fra.add(lb); fra.setV

8、isible(true); /显示窗口3.3. 监听器的方法public void actionPerformed(ActionEvent e ) x=Integer.parseInt(txt1.getText(); y=Integer.parseInt(txt2.getText(); z=getyear(x,y); lb.setText(String.valueOf(daysz); repaint(); int getyear(int year ,int month) int s=0,i,j=0,u,w; int v=0,31,28,31,30,31,30,31,31,30,31,30,31

9、; u=year; w=month; for(i=0;iw;i+) if(u%4=0&u%100!=0|u%400=0) v2=29; j=j+vi; s=u-1+(u-1)/4-(u-1)/100+(u-1)/400+(j+1); s=s%7; return s; 4直线绘图的方法 public void paint(Graphics g) for (int i=100;i300;i+=30) g.drawLine(20,i,300,i); Font fnt=new Font(楷体Gb_2312,Font.PLAIN,12); g.setFont(fnt); int j=20; for(in

10、t i=0;i7;i+) g.drawString(daysi,j,120); j=j+40; int day,month=Integer.parseInt(txt2.getText(); int year=Integer.parseInt(txt1.getText(); if(month=2) if(year%4=0&year%100!=0|year%400=0) day=29; else day=28; else if(month=4)|(month=6)|(month=9)|(month=11) day=30; else day=31; ee=new Stringday; for(int

11、 i=0;iday;i+)eei=String.valueOf(i+1); for(int i=day;iee.length;i+)eei= ; ww=new Stringz+day; for(int i=0;i=z;i+) wwi= ; for(int i=z;iww.length;i+) wwi=eei-z; int w=0,p=0; for(int k=0;k6) w=0;p=p+30; g.drawString(wwk,20+w*40,150+p); w+; 二、连连看课程设计1、课题设计的目的:1) 进一步加深对Java语言的理解和掌握;将所学的JAVA知识运用于实践中。2) 课程设

12、计将理论与实践相结合,提供了一个既动手又动脑,独立实践的机会,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3)熟练掌握JAVA语言中图形用户界面程序的编写;4)大体了解怎样用JAVA来编写小游戏的,增强我们实践能力和创新精神的综合培养。2、可行性论证:“连连看“游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。我通过所学的JAVA,设计了一个操作简单、界面美观、功能较齐全的“连连看”游戏。通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。这个游戏是用图形界面实现的,通过编译解释后,出现一个图开界面。界面是由若干个小方格组成的,每一个小方格里有一个数

13、值,如果在一个边上有相同的数值,连续点击它们就会消失,同时界面上正上方的分数就会自动加分。游戏还设有退出、重列、再来一局的功能,方便游戏操作。31源程序:3.1.1 初始化 package cmdjava.lianliankan;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.File;import java.io.FilenameFilter;public class lianliankan implements ActionListener JFrame mainFrame; / 主

14、面板 Container thisContainer; JPanel centerPanel, southPanel, northPanel; / 子面板 JButton diamondsButton = new JButton65;/ 游戏按钮数组 JButton exitButton, resetButton, newlyButton; / 退出,重列,重新开始按钮 JLabel fractionLable = new JLabel(0); / 分数标签 JButton firstButton, secondButton; / 分别记录两次被选中的按钮public void xiao()

15、/相同的情况下能不能消去。仔细分析,不一条条注释 if(x0=x &(y0=y+1|y0=y-1) | (x0=x+1|x0=x-1)&(y0=y) /判断是否相邻 remove(); else for (j=0;jj) /如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边 for (i=y-1;i=j;i- ) /判断第二按钮左侧直到第一按钮中间有没有按钮 if (gridxi!=0) k=0; break; else k=1; /K=1说明通过了第一次验证 if (k=1) linePassOne(); if (yj) /如果第二个按钮的Y坐标小于空按钮的Y坐标说明第一按钮

16、在第二按钮右边 for (i=y+1;i=j ;i+ ) /判断第二按钮左侧直到第一按钮中间有没有按钮 if (gridxi!=0) k=0; break; else k=1; if (k=1) linePassOne(); if (y=j ) linePassOne(); if (k=2) if (x0=x) remove(); if (x0x) for (n=x0;nx) for (n=x0;n=x+1 ;n- ) if (gridnj!=0) k=0; break; if(gridnj=0 & n=x+1) remove(); for (i=0;ii) for (j=x-1;j=i ;j

17、- ) if (gridjy!=0) k=0; break; else k=1; if (k=1) rowPassOne(); if (xi) for (j=x+1;j=i;j+ ) if (gridjy!=0) k=0; break; else k=1; if (k=1) rowPassOne(); if (x=i) rowPassOne(); if (k=2) if (y0=y) remove(); if (y0y) for (n=y0;ny) for (n=y0;n=y+1 ;n-) if (gridin!=0) k=0; break; if(gridin=0 & n=y+1) remo

18、ve(); public void linePassOne() if (y0j) /第一按钮同行空按钮在左边 for (i=y0-1;i=j ;i- ) /判断第一按钮同左侧空按钮之间有没按钮 if (gridx0i!=0) k=0; break; else k=2; /K=2说明通过了第二次验证 if (y0j) /第一按钮同行空按钮在与第二按钮之间 for (i=y0+1;ii) for (j=x0-1;j=i ;j- ) if (gridjy0!=0) k=0; break; else k=2; if (x0i) for (j=x0+1;j=i ;j+ ) if (gridjy0!=0)

19、 k=0; break; else k=2; 5课程设计体会(1)选题目的:本次课程设计为课本后设计题目任选一题进行设计。思考一段时间后,我们组决定做一个万年历的设计。主要考虑到以前时间少课程内容多,JAVA课程基础内容掌握并不是很抓实,而对于设计一个万年历程序,由于其功能简单设计也相对较易,对于我们组每个人的学习情况比较合适,并且通过设计这样的一个日历小组件,也能使自己对JAVA的一些基础知识掌握的更加牢固。(2)对于本程序的设计,首先考虑其功能有哪些,需要显示什么,如何进行窗体构建布局,需要用哪些知识点,如相关的类和对象等。最后,就是根据初步设计的功能和布局构架,考虑用源代码进行实现了。

20、通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度。还有通过设计过程中大量地查阅网络文章,对一些关键知识点逐个地了解并解决相关问题。所以网络这个强大的工具,确实是我们学习之中可以借助的一个很好的帮手。网络是我们学习的最好的老师之一。有问题,问网络,是一个很好的习惯。参考文献1.曾令明 索 望 甘 刚 宋 波,Java程序设计教程,西安电子科技大学出版社,2007.82.孙全党 王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2006.23.玉阳,Java从入门到精通,清华大学出版社,2006.8

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2