java实训报告总结范文【合集三篇】

java实训报告总结范文(通用3篇)

java实训报告总结范文 篇1

一、 课程设计名称及主要内容:

1、 课程设计名称:

时钟动画

2、 课程设计的主要内容:

以下题目任选一个:

(1)图形界面类,如科学计算器、绘图板、日历、游戏程序等。

(2)动画类,编制功能较复杂、效果较好的Applet动画程序。

(3)数据处理类,如学生学籍、课程成绩、图书编目、仓库货物等数据录入查询程序。

(4)其他类型,自选题目,须经指导老师同意。

我所选的题目是动画类的Applet动画程序,主要任务是用Java程序设计一个时钟动画。

二、 程序的设计思想和流程图:

1、 设计思想:

现在的各种时钟花样百出,千奇百怪,功能亦是越来越先进了。我很喜欢这些各式各样的时钟,所以希望自己也能设计出一个来。于是,我希望自己能够用自己所学的Java知识设计出一个自己的时钟动画,即使是最简单的,但我相信这是暂时的。只要我能够努力学好Java知识,将来一定能够设计出更好更完美的时钟动画。

2、 流程图:

三、 程序介绍:

1、设计方法及步骤 :

 题目分析:

根据《课程设计任务书》要求,分析题目,构造出程序的基本思路(算法设计)。画出程序

设计结构框图。

 构造数据结构:

根据程序结构框图和题目分析结果(采用算法),构造程序所用各项数据,各种窗体及他们

之间的联系。

 构造程序框架:

在窗体确定之后,根据算法设计出所用各个窗体之间的调用关系。

 程序设计:

①画出程序功能框图和结构框图;

②根据框图设计程序;

③编译程序调试程序,使程序可以使用;

④完备程序功能。

 程序打包:

所设计程序汇总,将程序分类归入相应子目录,完成程序所有设计要求。

2、完成情况:

经过一系列的Java程序代码的设计,虽然过程中遇到了许多的问题,但是最终解决了所有的问题,准确的设计出了时钟动画,运行情况正常。

3、类的关系:

“public class AnimatorDemo”是公共类,且是程序中的唯一的一个类。

4、构造方法、成员变量和成员方法的功能说明:

“Thread timer”用于显示时钟的线程;

“SimpleDateFormat formatter”用于格式化时间显示; “String lastdate”用于保存当前时间的字符串;

“Font clockFaceFont”用于设置显示时钟里面的数字的字体; “Date currentDate”用于显示当前时间;

“Color handColor”用于显示时针、分针和表盘的颜色; “Color numberColor” 用于显示秒针和数字的颜色; “public void init”用于设计时钟格式并捕捉异常;

“public void plotpoints(int x0, int y0, int x, int y, Graphics g)” 用于计算四分之一的圆弧;

“public void circle(int x0, int y0, int r, Graphics g”) 用Bresenham算法来画圆,其中(x0,y0)是圆的中心,r为圆半径; “public void paint(Graphics g)”用于运行时钟程序; “public void start” applet的启动方法;

“public void stop” applet的停止方法;

“public void run” 线程的run方法。

四、 遇到的问题和解决方法:

1、 问题:

 写程序的时候,由于对有些Java知识不懂,所以有些想要表达的意思无法用Java代码准确的表达出来,老是出错或者无法写下去;

 一开始,自己准备的参考资料不足,无法在遇到问题时有效的利用参考资料解决,遇到不懂的问题和不会用程序语言表达的问题时,只能留在那里,无法解决,结果问题最后越积越多,导致我无法再把程序写下去;

 一开始,对于老师布置的作业题目,我不太懂,无法进行有效而且清晰的分析,自然也无法继续下去写程序了,耽误了较多的时间;

 对于要写流程图,一开始我并不懂是什么意思,也不知道怎么去写。

2、 解决方法:

 对于那些不懂的Java知识和不会写的程序,我通过向同学寻求帮助和利用参考资料书,最终都解决了;

 对于自己参考资料不足的缺点,我在下课后,去了图书馆借阅有关方面的Java参考资料书,并且向同学借阅了他们所拥有的资料书,然后又利用自己的电脑上网查找了一些有关方面的参考知识,终于在最后解决了资料不足的缺点;

 对于不懂的题目,我也通过向多个同学进行询问,最终弄懂了老师布置的题目所要求的内容;

 至于流程图,在我向同学询问过,并且上网进行了一番查找和咨询后,也总算弄懂了流程图的含义,并努力写了出来。

五、 认识、感想、建议:

六、 参考资料:

《精通Java——JDK、数据库系统开发、Web开发》

《Java进阶教程》

《零起点Java应用编程》

《Java程序设计应用基础教程》

七、 附加源程序:

import java.util.*;

import java.awt.*;

import java.applet.*;

import java.text.*;

public class AnimatorDemo extends Applet implements Runnable

{

Thread timer; // 用于显示时钟的线程

int lastxs, lastys, lastxm,

lastym, lastxh, lastyh;

SimpleDateFormat formatter; //格式化时间显示

String lastdate; // 保存当前时间的字符串

Font clockFaceFont; //设置显示时钟里面的数字的字体

Date currentDate; // 显示当前时间

Color handColor; // 用于显示时针、分针和表盘的颜色

Color numberColor; // 用于显示秒针和数字的颜色

public void init

{

int x,y;

lastxs = lastys = lastxm = lastym = lastxh = lastyh = 0;

formatter = new SimpleDateFormat ("yyyy EEE MMM dd hh:mm:ss ");

currentDate = new Date;

lastdate = formatter.format(currentDate);

clockFaceFont = new Font("Serif", Font.PLAIN, 14);

handColor = Color.blue;

numberColor = Color.darkGray;

try {

setBackground(new Color(Integer.parseInt(getParameter("bgcolor"),16)));}

catch (Exception E) { }

try {

handColor = new Color(Integer.parseInt(getParameter("fgcolor1"),16));}

catch (Exception E) { }

try {

numberColor = new Color(Integer.parseInt(getParameter("fgcolor2"),16));} catch (Exception E) { } resize(300,300); // 设置时钟窗口大小}

// 计算四分之一的圆弧

public void plotpoints(int x0, int y0, int x, int y, Graphics g)

{

g.drawLine(x0+x,y0+y,x0+x,y0+y);

g.drawLine(x0+y,y0+x,x0+y,y0+x);

g.drawLine(x0+y,y0-x,x0+y,y0-x);

g.drawLine(x0+x,y0-y,x0+x,y0-y);

g.drawLine(x0-x,y0-y,x0-x,y0-y);

g.drawLine(x0-y,y0-x,x0-y,y0-x);

g.drawLine(x0-y,y0+x,x0-y,y0+x);

g.drawLine(x0-x,y0+y,x0-x,y0+y);}

// 用Bresenham算法来画圆,其中(x0,y0)是圆的中心,r为圆半径

public void circle(int x0, int y0, int r, Graphics g)

{

int x,y;

float d;

x=0;

y=r;

d=5/4-r;

plotpoints(x0,y0,x,y,g);

while(y>x){

if (d<0) {

d=d+2+3;

x++;}

else {

d=d+2*(x-y)+5;

x++;

y--;}

plotpoints(x0,y0,x,y,g);}}

public void paint(Graphics g)

{int xh, yh, xm, ym, xs, ys, s = 0, m = 10, h = 10, xcenter, ycenter; String today;

currentDate = new Date;

SimpleDateFormat formatter = new SimpleDateFormat("s",Locale.getDefault); try {

s = Integer.parseInt(formatter.format(currentDate));

} catch (NumberFormatException n) {

s = 0;}

formatter.applyPattern("m");

try {

m = Integer.parseInt(formatter.format(currentDate));

} catch (NumberFormatException n) {

m = 10;}

formatter.applyPattern("h");

try {

h = Integer.parseInt(formatter.format(currentDate));

} catch (NumberFormatException n) {

h = 10;}

formatter.applyPattern("EEE MMM dd HH:mm:ss yyyy");

today = formatter.format(currentDate);

//设置时钟的表盘的中心点为(80,55)

xcenter=80;

ycenter=55;

// a= s* pi/2 - pi/2 (to switch 0,0 from 3:00 to 12:00)

// x = r(cos a) + xcenter, y = r(sin a) + ycenter

xs = (int)(Math.cos(s * 3.14f/30 - 3.14f/2) * 45 + xcenter);

ys = (int)(Math.sin(s * 3.14f/30 - 3.14f/2) * 45 + ycenter);

xm = (int)(Math.cos(m * 3.14f/30 - 3.14f/2) * 40 + xcenter);

ym = (int)(Math.sin(m * 3.14f/30 - 3.14f/2) * 40 + ycenter);

xh = (int)(Math.cos((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + xcenter); yh = (int)(Math.sin((h*30 + m/2) * 3.14f/180 - 3.14f/2) * 30 + ycenter); //画时钟最外面的圆盘其中心在(xcenter,ycenter)半径为50

g.setFont(clockFaceFont);

g.setColor(handColor);

circle(xcenter,ycenter,50,g);

//画时钟表盘里的数字

g.setColor(numberColor);

g.drawString("9",xcenter-45,ycenter+3);

g.drawString("3",xcenter+40,ycenter+3);

g.drawString("12",xcenter-5,ycenter-37);

g.drawString("6",xcenter-3,ycenter+45);

// 如果必要的话抹去然后重画

g.setColor(getBackground);

if (xs != lastxs || ys != lastys) {

g.drawLine(xcenter, ycenter, lastxs, lastys);

g.drawString(lastdate, 5, 125);}

if (xm != lastxm || ym != lastym) {

g.drawLine(xcenter, ycenter-1, lastxm, lastym);

g.drawLine(xcenter-1, ycenter, lastxm, lastym); }

if (xh != lastxh || yh != lastyh) {

g.drawLine(xcenter, ycenter-1, lastxh, lastyh);

g.drawLine(xcenter-1, ycenter, lastxh, lastyh); }

g.setColor(numberColor);

g.drawString("", 5, 125);

g.drawString(today, 5, 125);

g.drawLine(xcenter, ycenter, xs, ys);

g.setColor(handColor);

g.drawLine(xcenter, ycenter-1, xm, ym);

g.drawLine(xcenter-1, ycenter, xm, ym);

g.drawLine(xcenter, ycenter-1, xh, yh);

g.drawLine(xcenter-1, ycenter, xh, yh);

lastxs=xs; lastys=ys;

lastxm=xm; lastym=ym;

lastxh=xh; lastyh=yh;

lastdate = today;

currentDate=null;

}//applet的启动方法

public void start

{timer = new Thread(this);

timer.start;

}// applet的停止方法

public void stop

{timer = null;

}//线程的run方法

public void run

{Thread me = Thread.currentThread;

while (timer == me) {

try {Thread.currentThread.sleep(1000);}

catch (InterruptedException e)

repaint;}

}//注意:这里重写了update方法,只是调用了paint方法来消除闪烁现象 public void update(Graphics g)

{paint(g);}

}

java实训报告总结范文 篇2

一、实训目的

1.熟练掌握Java面向对象程序设计的基础知识。

2.熟练掌握Java中常用的Swing组件的使用方法。

3.熟练掌握Java程序中图形用户界面设计的方法。

4.熟练掌握使用JDBC操作数据库的方法。

5.通过实训,培养学生分析和解决实际问题的能力,提高调试和分析应用程序的能力,并为后续Java高级编程等专业课程的学习奠定良好的基础。

二、课程设计报告内容

2.1 实训内容

本课程设计的题目是设计一个简化的图书管理系统。该系统从图书馆管理人员的角度出发,实现对图书信息、读者信息的浏览、添加、删除和查询,同时还可以对读者借书、还书过程进行操作和控制。设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。

系统功能分析是在系统开发的总体任务的基础上完成的。该管理系统需要完成的基本功能主要有:

用户管理:主要包括用户的添加、修改和删除。

读者管理:主要包括读者信息的浏览、添加、删除和查询。

图书管理:主要包括图书信息的浏览、添加、删除和查询。

借还书管理:主要包括借书、还书和续借。

2.2 实训设备或软、硬件

硬件:PⅣ及以上性能的PC机;

软件:Windows 20xx或Windows XP系统;JDK工具;JCreator4.0环境

2.3 功能设计及思想

首先设计测试登录窗口:Text.java

接下来设计LoginFrame.java(登录窗口)、MainFrame(主窗体)

Addbookframe.java(图书入库窗口)、AddReaders.java(添加读者窗口)、AddUserframe.java(添加用户窗口)、Borrowframe.java(借书窗口)、Retumframe.java(还书窗口)、Queryframe.java(图书查询窗口)。

导入部分及实现的接口

三、结论

Java实训在不知不觉中就结束了,我感觉自己还有好多东西要学,还有好多的东西不懂呢!这是我大学以来第3次实训,每次实训我都感觉学到了好多东西!因为是一天到晚的不间断训练,所以记的会非常牢固。不像平时上课,每上两次的理论课却只有45分钟的实际操作。在课上,有老师在前面演示我们都还能跟着做,可轮到我们独立完成的时候,因为实际操作的少,早就忘光了!我很感谢学校有实训这样的安排,把我们这一学期学的东西系统的集中的进行训练,对我们计算机水平的提高发挥着重要作用!还要感谢我们的侯老师,侯老师学识渊博,也很有耐心,即使老师讲了很多遍的问题,我们不会,老师还是会走进我们给我们耐心的指导,还给我们讲一些学习java的方法,让我们知道自己在哪方面不足,需要加强,也让我们了解到哪些需要认真的学习,那些是重点,不是没有方向的乱学一通,什么也学不好!

经过这次的实训,我真真确确的感受到了这些开发工具能让我们提高工作的效率,更直观更便捷的切入主题。这次我们学习的是制作图书信息管理系统,由老师给我们指导。当然,在学习的过程中并不是一帆风顺的,在这之中,因为要操作的东西很多,有时错一步,后面的结果就无法显示,而自己的耐心与细心又太差,根本检查不出来是哪里出了错!这时候,侯老师都会耐心的过来帮助我,我很感谢侯老师也很感谢学校能安排这么优秀的侯老师来教我们!只是,我们太顽皮,有很多东西老师讲了我们也没能记住,我想在此说一句:老师,您辛苦了,下学期我们一定认认真真的好好学!

实训课是在学习与探索中度过的,短暂的15天实训是结束了,但其中让我们学到了许多知识,出现许多未知的为什么,如图书管理数据库的初步设置、JDBC和SQL Server服务器的连接、数据备份与还原的步骤,报表的设计与实现、如何设置数据源、通过ADO访问数据库的方法、监听器、各种Java Swing组件的使用,绑定控件的属性设置、如何实现Click事件、实现它的获得方法、设置注册焦点

监听器、获取当前日期、以及利用函数之间的相互转换等等一系列的问题,正是在老师和同学的共同努力之下,我才一步步把问题解决了,最终完成了不可能完成的任务。

为期15天的实训课就这样结束了,我发现我对java有了新的认识,以前只知道玩游戏、娱乐和简单的应用。通过这次的实训,我了解到,要真真正正的掌握这些开发工具还不是一件简单容易的事儿,但真正掌握后,它带个我们的将是无穷的便捷与科技,我喜欢高端便捷的生活。我希望我能做计算机这个万能机器人的主人而不是奴隶,我会努力加油的!

通过实训,我不仅巩固了旧知识,也学到了新的知识,并且把所学的应用到实际操作中,提高了我们的实际动手能力和逻辑思维能力。也让我们对软件开发的流程有一定了解,并且对开发软件有了一些初步的经验。真正做到了学习与实际应用相结合,真的很感谢老师为我们争取的这次实训机会,在这次实训期间我获益匪浅。

最后,谢谢老师在实习过程给予的帮助!老师辛苦了!感谢学校,感谢老师给我的帮助,让我的思想、技能又上了一个台阶!

四、结束语

《Java图书管理系统项目》心得:

其实在学习图书管理系统实训时,我们就已经开展了SQL的学习,虽然它们之间存在不同,但是属于同一种语言——计算机语言,但是实际上呢!它们的思想是不同的,JAVA只是一种面向对象语言,而该项目实战是教我们如何制作一个实用型的软件,从实际出发,一步一步的按照老师的规定进行,按正规模式的方式制作软件,从初期的项目分析,书写可行性报告,到项目分工,最后开始书写代码,一天一天的写编程日记,把每一天遇到或完成的事情记录下来,一步步设计完成自已的工作,想象自己是一个程序设计师,我主要完成界面及其代码的设计,而其中有很多东西是我们所不知道,正向所有编程人员一样,我们是边学边作,而且书写代码的速度要很快,因为一个项目不应该在书写代码的方面浪费时间,在这期间很训练人,因为每天写代码时,都写的一身热汗,着急呀!可是当完成每天的任务,而多完成时有很大的成就感了,这当然是一个心里成就了,因为我暂时还没有写完这个程序了。说真的,我写完这个图书信息管理系统时,真的感觉很累了,不过又很轻松了,因为终于完成了,不过在看了其他同学设计的程序时,心里也感到众多不足,因为我们设计的程序,在判断某些输入资料时,总是不严谨,可能给日后用户带来很多不方便,而且在日后的维护工作会很大,这样的程序,作为一个日后的程序员是不应该出现的。

其中,对了SQL语言的使用是相当的重要的,因为没有了SQL语言的支持,对数据库表的操作,是根本无法实现的,对数据的增加、删除、修改,都是一样的。发现对于软件来说,对数据库的操作是至关重要的,因为有很多软件都是这样的,无论是什么都要对数据进行操作,统计、分类、查询、修改、删除等,而正因为这样,我在开始写程序时的SQL基础不好,所以出现在众多难题,而翻书查寻便是经常事情了,因为知识用到时方恨少了,其实我感觉用JAVA设计图形界面,是很费劲的,嗯„„用它作手机游戏看起来还不错,或者用它网络B/S、都是很好的,因为它就是为了网络而生的。总的来说,对于开展这样的实用型项目,我个人认为是非常重要的,这种实训突破了以前我的思维模式和惯性作法,以前对于程序来说,一开始就制作从来也不计划,如果遇到了与想象中的不一样的难题,就把这部分删除掉,最近制作出来的程序,往往是功能不完善、功能不明确,没有具体的规划和文档,到最后让别人很难理解,自已也是很难弄明白。没有一个良好的程序设计思想,当然了学习项目实战后,丢掉了那样坏毛病,建立了良好的设计思想和编程过程。有很多不理解现在变成了现在的理解感谢,因为往往一些正确的思想,总是一开始不被人接受,而到最近时才会被理解认同,我也这样认为了。

通过这次的训练,掌握运用了java程序设计的一些思想,了解了Java面向对象程序设计的基础知识,熟练掌握了Java中常用的Swing组件的使用方法以及Java程序中图形用户界面设计的方法、使用JDBC操作数据库的方法。初步了解了如何将复杂的问题层层分析成较小的子问题,实现Java编程的实际操作,掌握如何运用Java解决一些常见的编程问题,并学会、掌握分析解决问题的方法,并运用Java的程序结合自己对Java程序的初步认识与理解进行对照,查找自己与Java程序设计的偏差与不足之处,培养自己Java的思维。

本次实训项目通过分析并实现了图书管理系统。本系统的设计让大家了解如何根据实际问题,分析功能需求,将复杂的问题分析成子问题,达到模块化设计系统功能的目标。同时,可以利用这种方法制作通讯录管理、课程管理、工资管理、图书管理等小型管理系统,此外,此次实训培养了我们java 的思维能力,让我们对java有了更深层次的学习与理解,通过两周的实训可以去解决一些简单的编程问题,并对其出现的错误能以与改正和讨论同时,也对以前自己朦胧而不解的问题有了很好的理解,也知道了一些贵重的资料为何要施加密码,如银行卡。对java的理论有了更深的理解,同时也可以运用本次的实训设置一些简单的系统,

总之,我们从这次的实训中受益匪浅,我对这次实训还是比较满意的,它使我学到了很多东西、学到了更深刻的知识,为我以后的学习做了引导,点明了方向,我相信在不远的未来定会有属于我们自己的一片美好天空!漫漫长路任我行,我需踏实脚下的路,一步步的前行。用现在的付出和汗水去勾画未来美好的明天。

最后,在侯老师的细心辅导下,我有了很大的进步,知识得到了扩充,认识得到了加深,也使得我的自学能力得到了很大的提高,在此,我向侯老师表示由衷地感谢。

老师您辛苦了!

java实训报告总结范文 篇3

伴随着这学期的结束,我们这学期最后一堂课也要接近尾声,三周的实训时间很快就结束了。虽然说这个总结是对这三周实训的,但我觉得这个总结是对我这个学期的一个总结。

实训第一周,我们进行了CAD的实训,我对CAD并不陌生,因为我报了一个很好的协会,CAD/CAM协会,并很荣幸的当选为下届会长。所以实训CAD对我来说比较简单。但在这一个星期的实训,学习到很多运用CAD时应注意的细节,比如说:内部设置、绘图规范、标注规范等等。随着老师一步一步的讲解,到最后我能很快的绘制出一张合格的零件图来。这一周的实训我的收获是:CAD绘图更合乎要求,绘图速度更快了。

实训第二周,我们进行的是普通车床床头箱里零件的测绘。我们以前有过普通车床加工实训,只是对机床的操作有一定的了解,对它的内部结构,工作原理并不知道。这次能亲自把它拆下来,了解内部结构,并测绘出内部零件还是比较激动的。我们这个组由12名同学组成在拆装测绘机床的过程中我们分工明确,互相帮助,团结协作,共同完成整个实训项目。这个实训项目让我学到了团结很重要,在绘图中让我知道细节很重要,认识了很多零件,

第三周是对我们在机械部件测绘出来零件用CAD画出标准的零件图。经过前两周的实训,我们第三周主要是整理前面实训的的成果,综合起来做一个整体的说明书。做说明书中我们的确遇到了许多问题。我始终相信有问题就有解决的办法,我们通过老师的讲解,查书,把这些遇到的问题都一一解决。在解决问题的同时有许多我以前不知道的知识,不经意的灌输到我的脑海中,这就是我的收获。

实训结束了,在这次实训中我学到了许多东西。体会到团结的力量,平时书上知识的重要,让我们在书本上学习到的知识,知道怎样在实际操作中运用。我相信我在这三周的实训中,所学到的知识肯定以后的工作中得到运用。在实训中非常感谢老师的耐心的讲解和同学们的帮助。

一键复制全文保存为WORD