欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java课程设计报告书模版Word文档下载推荐.docx

    • 资源ID:3630783       资源大小:196.68KB        全文页数:18页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计报告书模版Word文档下载推荐.docx

    1、(7) 报告按规定排版打印,要求装订平整,否则要求返工;(8) 课设报告的装订顺序如下:封面-任务书-中文摘要-目录-正文-附录(代码及相关图片)(9)严禁抄袭,如有发现,按不及格处理。4)答辩与评分标准:(1)考勤:10分;(2)程序检查:30分;(3)答辩回答问题:20分(3)课程设计报告:40分;5)参考文献:(1)丁振凡.Java语言实用教程北京邮电大学出版社 (2)耿祥义.Java2实用教程清华大学出版社6)课程设计进度安排内容 天数地点构思及收集资料 7图书馆编码与调试 5实验室撰写论文 3图书馆、实验室学生签名: 年 月 日课程设计(论文)评审意见(1)考勤(10分):优( )、

    2、良( )、中( )、一般( )、差( );(2)程序检查(30分):优()、良()、中()、一般()、差();(3)答辩回答问题(20分):(4)设计报告(40分):评阅人: 职称: 讲师 目录一、课设任务及要求 1二、需求分析 1三、设计思路 1四、详细设计 2五、运行调试与分析讨论 8六、设计体会与小结 14七、参考文献 14一、课设任务及要求课程任务:在Applet画面中实现y=a*x2+b*x+c 函数曲线的绘制设计要求:1、通过Applet参数传递a,b,c值;2、通过Applet参数控制曲线的粗细;3、曲线的颜色通过颜色对话框选取(通过一个颜色按钮控制)。4、绘制一个小人沿曲线轨迹

    3、运动,到终点由头重新开始。二、需求分析利用Java 2D图形绘制,在Applet画面中实现一个二维图形,其中绘制二次函数(y=a*x*x+b*y+c)曲线,通过Applet参数来传递a,b,c的值,使得能够绘制任意二次函数曲线,并通过另一个Applet参数来控制二次函数曲线的线条粗细;建立一个颜色选择对话框来选择曲线的绘制颜色;在二次函数曲线上要实现以一个小人物,并能沿着曲线循环运动。该实验考察的知识点是任何绘制图形以及用什么方法来控制图形的运动,通过建立一事件监听来实现人机交互。三、设计思路工作原理及功能规划:我选择的这个课设题目,说实话,前面三部分思路非常清晰,但最后一部分思路稍稍有点难度

    4、。正因如此,让我感觉富有挑战性。下面我就介绍一下我的具体思路。起先就是创建坐标的问题,先设置坐标原点(offx,offy),以原点为中心来绘制坐标轴,通过在paint()函数建立一个Graphics2D 类对象g2d,再由g2d.draw()来绘制直线就很快实现了坐标轴。其次是绘制曲线,曲线绘制是要通过applet参数来传递a,b,c及thick的值,这就要运用到getParameter()来获取HTML中的传递的各参数。之后就利用多边形描绘曲线,简单,创建一个GeneralPath对象:GeneralPath polly=new GeneralPath(),再利用moveTo()和lineT

    5、o()来实现曲线。有一点需得提出,绘制曲线时,我将曲线的横坐标值扩大了5倍,便于图形观察。第三步就是颜色选择对话框,这个好办,创建一个下拉列表(Choice)将所有选项折叠在一起,Choice color=new Choice( ),再对color设置一个监听者,color.addItemListener(this)。而颜色的添加,是通过两个数组des、c,数组des中存放颜色名称,放入到下拉列表中,数组c中存放对应的颜色,在事件监听时,将到得颜色选择赋给drawColor来改变曲线的颜色。 第四步就得实现一个小人物在曲线上的运动了。先得绘制一个小人物,通过建立图形缓冲区createImage

    6、(width,height),再将曲线坐标参数传递给drawImage( ),将图像缓存区的内容绘制到Applet面板上的。之后呢是实现其移动,就是将曲线的各个点的坐标值参数传递给小人物图像。四、详细设计(1)数据分析:1.变量a,b,c,thick是数值型,都为私有变量,通过Applet参数传递的。2.变量x0,y0是数值型,曲线的顶点坐标,用于计算和控制人物图像的定位。3.变量q,k同样是数值型,用来控制人物图像在曲线上的循环运动。4.des字符串数组,其元素代表颜色的选择,通过Color类定义了一个color颜色数组,与des对应来控制曲线颜色变化。5.原点坐标offx,offy数值型,

    7、通过改点来绘制坐标轴和定位二次曲线。(2)算法思路:1.基本算法:for循环:.for(int i=0;ides.length;i+)color.add(desi);通过循环,将颜色字符串数组加入到颜色下拉列表中。.for(;x=50;x+)计算曲线上各点的坐标值,再通过直线连接各点绘制曲线。.for(int i=0;i+)在事件监听函数中,通过鼠标触发事件来选择绘制曲线的颜色。2.计算几何算法:由坐标原点(offx,offy)出发,通过g2d.draw(new Line2D.Float()计算绘制出坐标轴。利用多边形描绘曲线,通过计算a*x*x+b*x+c,得到曲线上各点的坐标,在由move

    8、To()和lineTo()来连接各点。同时通过计算得到人物图像在曲线上移动的坐标,将坐标值传递给drawImage().(3)类设计: class Conic init(); /用来完成对applet实例的初始化工作 paint();/用来在applet的界面中绘制文字、图形和其他界面元素 repaint();/用来对整个applet区域重画 Thread.sleep()/使用Thread类中的sleep()方法使小人物移动时睡眠一段时间后继续移动itemStateChanged(ItemEvent e);/对事件源进行监听,实现事件的选择 (4)功能实现:流程图:代码及注释:import j

    9、ava.awt.*;import java.awt.geom.*;import java.applet.*;import java.awt.event.*;public class Conic extends Applet implements ItemListener private int a ; private int b ; private int c ; private int thick; int x0,y0; /曲线的顶点 Image img; int q=x0-20;/小人物起点横坐标 int k=0; /控制小人物循环移动 Color drawColor=Color.red;

    10、 /曲线初始颜色设置 String des=红色,蓝色绿色黑色灰色; Color color2=Color.red,Color.blue,Color.green,Color.black,Color.gray; public void init() a=Integer.parseInt(getParameter(a); /从applet参数中获取a的值 b=Integer.parseInt(getParameter(b /从applet参数中获取b的值 c=Integer.parseInt(getParameter(c /从applet参数中获取c的值 x0=-b/(2*a); /曲线顶点横坐标

    11、 thick=Integer.parseInt(getParameter(thick /从applet参数中获取thick的值 Choice color=new Choice(); /创建下拉列表 for(int i=0;i+) color.add(desi); /将颜色加入列表 color.addItemListener(this); /对下拉列表设置监听 this.add(north,color); /添加下拉列表及其位置/*绘制小人物*/ img=createImage(20,30); /画板的长宽 Graphics gimg=img.getGraphics(); gimg.setCol

    12、or(Color.red); gimg.drawOval(5,0,10,10); gimg.drawLine(10,10,0,20); gimg.drawLine(10,10,20,20); gimg.drawLine(0,20,20,20); gimg.drawLine(5,15,0,10); gimg.drawLine(15,15,20,10); gimg.drawLine(7,20,7,30); gimg.drawLine(13,20,13,30); public void paint(Graphics g) Graphics2D g2d=(Graphics2D)g; int offx=

    13、200; /坐标轴原点的x int offy=250; /坐标轴原点的y g2d.setPaint(Color.blue);/设置坐标轴的颜色 g2d.setStroke(new BasicStroke(2);/坐标轴的线条宽度/*绘制坐标轴*/ g2d.draw(new Line2D.Float(offx+0,offy-100,offx+0,offy+100); g2d.draw(new Line2D.Float(offx-5,offy-97,offx+0,offy-100); g2d.draw(new Line2D.Float(offx+5,offy-97,offx+0,offy-100)

    14、; g2d.draw(new Line2D.Float(offx-100,offy+0,offx+200,offy+0); g2d.draw(new Line2D.Float(offx+195,offy-5,offx+200,offy+0); g2d.draw(new Line2D.Float(offx+196,offy+5,offx+200,offy+0); g2d.drawString(x,offx+205,offy);y,offx,offy-106);/*利用多边形描绘曲线*/ GeneralPath polly=new GeneralPath();/创建一个GeneralPath对象

    15、int x=-50; float x1=5*x; /将x坐标值放大5倍 float y1=(float)(a*x*x+b*x+c); polly.moveTo(offx+x1,offy-y1); /第一个点加入到路径 for(;x+) float x2=5*x; float y2=(float)(a*x*x+b*x+c); polly.lineTo(offx+x2,offy-y2); /将指定点加入路径,当前点与指定点连接 g2d.setPaint(drawColor); /绘制曲线的初始颜色 g2d.setStroke(new BasicStroke(thick);/曲线的宽度 g2d.dr

    16、aw(polly); /绘制曲线 int w = a * q* q + b * q + c; g.drawImage(img,offx+5*q-10,offy-w-15,this);/绘制小人物,并定位人物在曲线上的位置 q+; k+; try Thread.sleep(100); catch (InterruptedException e) repaint(); if(k%40=0) q=x0-20; /控制小人物循环移动的范围 public void itemStateChanged(ItemEvent e) /事件监听 Choice temp=(Choice)e.getItemSelec

    17、table(); if(temp.getSelectedIndex()=i) drawColor=color2i; repaint(); break; (5)界面:五、运行调试与分析讨论(1)以下为运行调试后的结果(部分截图):通过applet参数传递a,b,c及thick的值,thick为曲线的粗细。可以发现曲线颜色变化了且小人物在曲线上运动:红色曲线颜色选择绿色曲线改变参数c的值后的结果,可以发现曲线下移了:改变参数a,b,c及thick的值后的结果,可以发现曲线变化了且粗细变化了:改变参数thick的值后的结果,可以发现曲线变粗了:改变各参数的值,曲线变化,小人物同时在运动:(2)分析运

    18、行结果曲线是由参数a,b,c来控制,变量thick来控制曲线的粗细,其中这四个变量是通过applet来传递参数的,改变这四个变量的值,可以发现曲线也相应的改变了。小人物是通过双缓冲区绘图,将曲线各点的参数值传递给它实现的,同样发现它一直在不停地运动。还有改变曲线的颜色是通过建立一个下拉列表实现,下拉列表中存放了5中颜色,对下拉列表建立一个事件监听,通过鼠标点击来改变曲线颜色。可见,其运行结果达到了预先的期望和要求。(3)有何改进想法 像这个程序运行时看上去有些单调,虽然小人物运动的实现有些难度,但程序有些地方可以是改进的。其中曲线坐标参数传递给小人物的方法可以改进,这里的方法稍微繁琐了一点,当

    19、然其考察到个人数学的能力;其次我感觉参数a,b,c及thick的控制应该在程序查看器中实现,通过重新载入来改变曲线图形,但这一知识点我还未掌握,由于课本上这一知识点涉及不深,未能成功实现该动作;再次可以设置上下左右四个Button来控制坐标轴的移动或通过鼠标来移动,这是一点创新功能,由于时间问题,在这里就不去实现了。六、设计体会与小结通过这次的Java课程设计,让我系统的复习了一下本学期所学的知识,不仅巩固了那些已掌握了的知识点,而且了解到许多还未掌握的方面。尽管感觉自己学得还不错,但在这次的课设中还是遇到了许多问题,像这个小人物在双曲线上的移动问题,起先就让我感到头痛,研究了一下午,到网上又

    20、找不到相关的解决方法,但第二天上午上机时看到书上有一个被我遗漏的知识点:双缓冲区绘图。突然让我豁然开朗,不久就把这个问题解决了,效果还挺好的。这次的课程设计给我的帮助非常大,尽管我做的题目没有涉及到好多的知识点,但通过考察,让我对Java产生的兴趣更浓厚,特别是按时完成任务时,比平时更有成就感。我在这次的课程暴露的错误,让我意识到我还有许多的知识要去掌握,特别是教材之外的许多东西还不是很了解,另外是对某些知识点的了解还不够深,看来要多看点有关Java的课外书籍,及时补一补那些被遗漏的知识点。七、参考文献1丁振凡. Java语言实用教程. 北京:北京邮电大学出版社,2005.22耿祥义,张跃平. Java2实用教程.北京:清华大学出版社,2006.8


    注意事项

    本文(java课程设计报告书模版Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开