第一篇:java实训报告书写
课题名称:Hannoi塔
1.1系统介绍
本系统是旨在模拟Hannoi塔运行功能,暂时考虑单机环境下的实现;操作系统选择目前常用的Windows XP/2000。
1.2 设计要求
(见教材,自己书写)
1.3 总体设计
在设计Hannoi塔时,需编写6个Java源文件:HannoiWindow.java、TowerPoint.java、Disc.java、HandleMouse.java、Tower.java、AutoMoveDisc.java。
类之间的组合关系:
(见教材,自己绘制)
1.3.1 HannoiWindow.java(主类)
(1)功能概述
负责创建Hannoi塔的主窗口,该类含有main方法,Hannoi塔从该类开始执行。HannoiWindows类的成员变量中有五种重要类型的对象、一个int基本型数据和一个char型数组。五种类型的对象分别是:Tower、JmunuBar、Jmenu、JmenuItem和Jbutton对象。
(2)UML图
(见教材,自己绘制)
1.3.2 Tower.java
(1)功能概述
Tower类是javax.swing包中Jpanel容器的子类,创建的容器被添加到HannoiWindow窗口的中心。Tower类的成员变量中有四种重要类型的对象、一个int基本型数据和一个char型数据。四种类型的对象分别是:Disc、TowerPoint、HandleMouse和AutoMoveDisc对象。
(2)UML图
(见教材,自己绘制)
1.3.3 Disc.java
(1)功能概述
Disc类是Jbutton的一个子类,创建的对象是Tower容器中的一个按钮,用来表示Tower中的“盘子”。
(2)UML图
(见教材,自己绘制)
1.3.4 TowerPoint.java
(1)功能概述
TowerPoint类负责在Tower中创建表示位置的塔点对象。
(2)UML图
(见教材,自己绘制)
1.3.5 HandleMouse.java
(1)功能概述
HandleMouse类创建的对象负责处理鼠标事件。
(2)UML图
(见教材,自己绘制)
1.3.6 AutoMoveDisc.java
(1)功能概述
AutoMoveDisc类创建的对象负责自动移动盘子从一个座到另一个座。
(2)UML图
(见教材,自己绘制)
1.4 详细设计
代码详见上交源文件。
课题名称:根据自己选做课题书写
1.1系统介绍
自己书写
1.2 设计要求
自己书写
1.3 总体设计
整个系统包含的Java源文件:根据选题书写
类之间的组合关系:
(根据选题,见教材,自己绘制)
根据分组分工,书写要求如下:
1)自己编写的.java源文件的功能概述
2)绘制源文件对应UML图
3)写出图中有关数据和方法的详细说明。
1.4 详细设计
代码详见上交源文件。
实训总结
结合实训体会自己撰写
第二篇:java实训报告
摘要
随着自动化技术的不断发展,电子产业对工艺生产的要求越来越高。本次实训主要熟悉手工焊锡的常用工具的使用及其与修理。手工电烙铁的焊接技术,能够独立的简单电子产品的安装与焊接。熟悉电子产品的生产流程,印制电路板设计的和方法,能够读懂电路原理图,熟悉元器件实物,常用电子器件的类别、型号、规格、性能及其使用范围,并会简单的元器件测量,掌握焊接工艺的编排,电路调试过程。能够识别和选用常用的电子器件,并且能够熟练使用普通万用表和数字万用表。培养检测能力及一丝不苟的科学作风。
第一章JAVA开发环境
1.1NetBeans IDE简介
NetBeans 由Sun公司在2000年创立,它是开放源运动以及开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。
NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE目前支持PHP、Ruby、JavaScript、Ajax、Groovy、Grails和C /C + +等开发语言。
由于Java的跨平台性,在任一平台中编写的Java程序可以很好的移植到其他平台上。为了运行程序,计算机上必须安装JVM,它包含Java运行时的解释器与及时编译器,二者构成Java的运行环境。如图1.1所示:
=
图1.1Java的运行环境
{
JFileChooser fc = new JFileChooser();
int r=fc.showOpenDialog(this);
if(r== JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{jTextArea1.read(new FileReader(file),null);}
catch(IOException e){}
}
} void saveFile()//保存文件函数 {
JFileChooser fc=new JFileChooser();
int r=fc.showSaveDialog(this);
if(r== JFileChooser.APPROVE_OPTION){
File file=fc.getSelectedFile();
try{jTextArea1.write(new FileWriter(file));}
catch(IOException e){}
}
} 2.2计算器
要求编写一个模拟计算器Applet,使用面板和网络布局,添加一个文本框,10个数字按钮(0~9),四个加减乘除按钮,一个等号,一个清除按钮。计算器效果如图2.2:
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt){
show(4);}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt){
show(5);}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt){
show(6);}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt){
show(7);}
private void jButton9ActionPerformed(java.awt.event.ActionEvent evt){
show(8);}
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt){
show(9);}
//点击小数点按钮
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt){
String text=jTextField1.getText();
if(text.lastIndexOf(“.”)==-1)//判断该数字是否已经有小数点
jTextField1.setText(text+“.”);
}
//点击运算符
private void jButton12ActionPerformed(java.awt.event.ActionEvent evt){
t1=Double.parseDouble(jTextField1.getText());//将第一个数转换成Double类型保存在t1中
jTextField1.setText(“ ”);
图3.1文件打开
图3.2文件保存
3.2计算器调试
计算器可以实现加减乘除运算,并可以清零,BACK按钮还可以一位一位清除,基本完成了计算器的基本功能。
第三篇:Java实训报告
Java实训报告
实训项目:小猪吃豆 班级:
指导老师:
一,游戏介绍:
小猪吃豆是一款简单而又经典的小游戏。游戏的玩法就是通过键盘的左右上下按键控制小猪,躲避森林动物的追击,同时把随机产生的小豆吃掉。游戏有初中高三个级别。游戏通过玩家过关所需要的时间来确定排名。
二,设计思路:
1,一开始,在玩家点击菜单栏的开始按钮后,界面会随机出现一定数量的小豆和一只小猪,同时启动时间线程,计时开始。
2,界面随机产生一些森林动物,作为小猪的障碍物。森林动物会移动,并紧跟着小猪。
3,小猪会在玩家的控制下,躲避森林动物,并吃小豆,每吃掉一颗豆,就启动音乐线程,发出声音。
4,游戏过程会随机出现大力丸,小猪吃掉大力丸后,可以增加功力,与森林动物对抗。大力丸会在一定时间后消失。5,游戏还要有一个暂停和继续的功能。
6,游戏设置有三个级别。障碍物和小豆的个数都不同,用于体现难度的不同。
三,关键问题解决:
1,游戏当中有几个核心的问题,比如:小豆,小猪,森林动物等物体的随机产生;小猪吃掉小豆,也就是他们的重叠;中途大力丸的出现等等。在老师的帮助下,我知道了Java中有个Random类,可以产生随机数。而判断小猪和小豆或者动物的重叠,也就是“被吃掉”也有相应的判断方法。
2,有关大力丸部分的问题:在游戏中,小猪吃的大力丸个数不同,对应的功力也不同。而小猪吃掉大力丸之后,功力又恢复。这需要很多的判断。后来,我就是一步步来,用一个一个的if去实现的。
3,游戏要控制大力丸出现后一定时间后消失。如果使用线程的话,那么游戏的线程太多,会影响到游戏的运行。后来老师建议使用Java的计时器。我参考了Java的帮助文档和网络上的有关资料,对计时器类timer有了一定认识和了解后,成功的将计时器加进了程序当中。
四,心得体会:
在游戏开发的整个过程,我感受最深的就是大力丸实现的部分。因为大力丸是老师要求的最后一个拓展部分,我完成前面部分的时候,曾想过不要增加大力丸,就那样就行了。可后来我觉得还是有时间,可以试试,就自己去试了。才发现,其实大力丸部分的实现也不是很难,还是可以完成的。而且是自己一个人完成的。这让我觉得:在开发过程,不应该还没有开始工作,开始尝试就选择放弃。有些功能,只要能尝试着去开发,最后是可以完成的。不要还没开始就放弃,那样就绝对没有机会完成相关内容。
在这个过程,我参考了很多资料,从老师那里来的,网上来的,还有同学那里。就拿森林动物靠近小猪这个部分来说,我曾尝试让动物的坐标与小猪的坐标关联,可发现出了很多问题,比如那样子动物的移动就不是一步步移动,而是跳动的,那样不好看。后来我问了一位同学,他说,让动物的坐标靠近小猪的坐标就行了。其实,企业中,不是以个人为单位,而是以团队为单位的。团队的合作在现代企业中显得非常重要。当然,相对应的人与人之间的沟通与协助,也就显得非常重要了。这是个人软实力的体现。
在这个过程,我发现自己对Java的很多知识还很模糊。像游戏中的时间格式问题,对键盘事件的处理等,都是从老师那里借鉴来的。自己的知识系统还不稳固,在今后的学习当中,要有针对性地加以补习。
第四篇:java实训报告总结
作为就业培训,项目的好坏对培训质量的影响十分大,常常是决定性的作用。这篇文章是关于在学习java软件开发时练习项目的总结,简单总结为以下几点:
作为就业培训,项目的好坏对培训质量的影响十分大,常常是决定性的作用。这篇文章是关于在学习java软件开发时练习项目的总结,简单总结为以下几点:
1、项目一定要全新的项目,不能是以前做过的2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统
3、在开发时要和企业的开发保持一致
4、在做项目的时候不应该有参考代码
长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。
一:项目的地位
因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。
他们欠缺的主要是两点:
(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。
二:如何选择项目
项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据java的研究和实践经验总结,选择项目的时候要注意以下方面:
1:项目不能太大,也不能太小
这个要根据项目练习的阶段,练习的时间,练习的目标来判断。不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。
2:项目不能脱离实际应用系统
项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。因为培训的时间有限,必须让学员尽快地融入到实际项目的开发当中去。任何人接受和掌握一个东西都需要时间去适应,需要重复几次才能够真正掌握,所以每个项目都必须跟实际应用挂钩。
3:项目应能覆盖所学的主要知识点
学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。
4:最后综合项目一定要是实际应用系统
学员经过这个项目的练习,就要走上实际的工作岗位了,如果这个系统还达不到实际应用系统的标准,学员练习过后也还是达不到企业实际的需要,那么这个培训应该说质量就不高了。理想的状况是这个项目就是实际项目,到时候学员就业到另外一个公司,不过是换个地方干活而已,完全没有技能上的问题。
三:java怎么选择项目
这个不是靠想象,而是根据实际的情况一步一步分析出来的(呵呵要卖弄一下:这也算是逻辑思维),当然这里只是讨论方法,不涉及具体的项目案例。
我们可以采用倒推的方式来分析:
(1)最终的项目一定是真实的项目,也就是要把学员训练到能够独立开发实际应用,通常我们还不能选最简单的项目,因为学员的吸收还要有一个折扣,所以最终的项目应该选实际项目中中等难度的项目
(2)最终项目定下来过后,开始分解这个项目,看看为了达到完成这个项目需要哪些技术和知识点,以及每部分知识点的深度,然后定出每个分阶段的任务
(3)然后开始选择分阶段的项目,分阶段的项目应该比刚才分析出来的分阶段任务稍稍复杂点,这样才能达到训练的目标。定下分阶段项目后,同样去分解,定出为了完成他所需要的各部分知识点和深度。
(4)然后是选择上课期间的演示项目,演示的项目是为了做分阶段项目服务的,可以认为是分阶段项目的分阶段项目
(5)最终把要求掌握的知识点和要求掌握的深度,分散到日常教学和练习中。
好了,把上面的分析用正向描述就是:
日常教学和练习中学习和掌握的知识 ==〉演示项目 ==〉分阶段项目 ==〉综合项目 ==〉胜任企业实际开发需要。
附注:有了好的项目还要有好的训练方法(这个另外立文讨论),最最基本和重要的一条就是:绝对要指导学生亲自动手做,而不是看和听,所以尽量不要选择有现成代码的项目,演示用的项目也最好不配发代码,让学生能够跟着做出来才是真的掌握了。
上面阐述了java对项目的态度和基本选择方法,这里再把其中几个重要的、与众不同的特点阐述如下:
1:真项目
项目一定要真实,要是企业实际应用的,不能是教学性的项目,否则会脱离实达不到项目实训的效果。还有一个一定要是最新的项目,企业的要求也是在不断变化的,应用技术的方向和层次也在不断变化,这些都体现在最新项目的要求上,旧项目所要求的技术和层次很可能已经过时了,根本达不到训练的目的。
java的做法是:没有固定项目,每个班做项目之前会从企业获取最新的项目需求,然后经过挑选和精心设计,以保证既能训练技术,又能得到实际的开发经验。这样实现了跟企业的同步,企业做什么,我们就学什么,然后也跟着做什么。
2:真流程
开发的流程也要跟企业的实际开发保持一致。从项目立项开始,到需求分析、概要设计、详细设计、编码、测试的各个环节,都要完全按照真实的开发流程来做。
java的主力老师都是实战出身,在java开发方面都至少有七年以上的开发经验,同时具备多年的项目管理经验,所以能够完全按照企业开发的流程来训练学生。
3:真环境
开发的环境也要跟企业一样,包括常用的开发工具、开发平台、应用服务器、常用插件、测试工具、项目管理工具、项目管理文档等等。
java的做法是:构建跟企业完全一样的环境,然后跟企业开发一样,分团队开发。老师就相当于项目经理,一个班分成多个小组,每个组有自己的team leader,大家分工合作,共同完成项目。
4:真开发
这是java最与众不同的一点,java深知:软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以java十分强调:项目一定要让学生动手写出来。
java的做法是:老师做为项目经理,带领着大家一起去做需求分析、概要设计、数据结构设计、接口设计、重要业务流程的分析设计等,然后由学生们分团队进行开发,实现整个项目。这里有几个与众不同:
(1):现场带领学生一起做分析和设计,而不是预先做好了来讲讲。因为需要学生学习的是分析设计的过程和方法,而不是已经做好的结果。
(2):java选用的项目基本都是企业最新的项目,很多都是java的学生和企业在同期开发,所以是不配发源代码的。这样也断绝了学生的依赖思想,认认真真去开发。可能有同学会问:为什么不选择有源代码的项目呢,那样还可以参考学习啊!
这是一个典型的误区:觉得通过看人家的代码能够加快自己的学习。这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。
事实上,java界最不缺的就是代码了,那么多开源软件,小到一个工具,到企业级erp都有开源的,而且很多都是大师级的作品,说实话比你参考的那些代码质量高多了,但是又有多少人能真正看明白呢,原因就在于达不到那个水平,看不懂代码背后所体现的设计和思想以及为什么要这么做,效果也就不好了。
第五篇:Java程序设计实训报告
XX学院
JAVA语言程序实训报告
专业: 信息管理与信息系统
班级:
姓名:
学号:
指导老师:
前 言
面向对象程序设计是软件编程技术中的一项非常关键的技术。面向对象程序设计中的继承,封装,多态等很接近于人的语言和思维,更容易让人理解和使用。并且,面向对象程序设计更加符合现代软件大规模开发的需求,有利于软件使用。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响,Java语言是面向对象程序设计语言中的代表,发展迅速。随着Internet的飞速发展,Web的广泛应用,而Java语言在Web应用方面所表现出来的强大特征,使得Java语言成为Web开发的主流技术。
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
本次实训是配合Java程序设计课程,帮助我们深入学习掌握Java语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,不仅培养学生实际分析问题、编程和动手能力,而且还提高了学生的综合素质。
如今,我们所面临的问题有:不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要,没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。解决的方法就是通过实训和练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足。我们应该明白软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以Java非常强调:项目一定要让学生动手写出来。
希望同学们在老师的带领下,能够将理论与实践联系起来,把我们课本上所学到的知识运用到实践中,在实践中检验真知。
2014年6月10日
目 录
一.实训目的.....................................................................................二.功能分析.....................................................................................三.系统设计.....................................................................................四.测试数据及运行结果..................................................................五.主要源程序.................................................................................六.实训总结与心得体会..................................................................一.实训目的
1.掌握Java语言的面向对象特征,包括Java语言中类、对象、继承、多态、接口和内部类,图形绘制等重要概念及应用实践。
2.掌握Java语言编程基础,包括数据类型、变量、运算符、字符串、数组、控制结构、访问权限修饰符,基本数据类型的转换,类的定义,对象的创建,通过类的对象调用类中的方法等内容。
3.掌握如何使用Java语言编写图形用户界面,利用Java丰富的图形组件创建交互性较好的用户界面。
掌握面对不同的事件处理进行不同事务处理,及每种事务处理的过程。
4.掌握如何使用不同的布局管理器,方便地设计出各种控件组织方式的界面。
掌握如何创建图形的界面,如何进行图形的绘制,怎样对图像进行处理。5.进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战 经验。学习有用的相关技术,提高自己的学习效率和工作效率。6.巩固Java课程所学基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
7.经过这个学期的学习后,能不能把学习的知识综合串联起来,java的实训项目的制作可以有效的检验这一点。进行综合项目实训可以练习java软件开发的环境和配置,能够把java的面向对象技术、数据结构、图形界面、小应用程序等知识运用到实践中去,从而更好地理解java的各项知识,达到能够应用自如的地步。进行实训的同时还需要查阅大量的文档,可以锻炼同学的自学能力。
二.功能分析
该黑白棋游戏主要可以实现黑白棋的对弈,要求有黑白两色棋子,保存所有已下的棋子,包括在棋盘上的所有棋子和被踢掉的棋子,若落子没有造成踢子,包括所有被这个棋子踢掉的棋子及这个棋子本身。如果踢子,则保存所有被踢的棋子,在游戏的过程中也可以显示对战双方的当前的棋子个数,提醒对战双方的时限。同时,该游戏还具有悔棋的功能。
三.系统设计
1.棋盘界面设计:基于Panel类定义一个面板子类,在其中利用Graphics类的drawLine()方法绘制棋盘格线,利用fillOval()方法绘制棋盘四角的星位。为面板创建监听器,为一个按钮注册ActionEvent事件监听器,实现单击鼠标布子、单机一个重新开局等操作。
2.棋盘功能设计:控制面板类,包含标签、手数、悔棋按钮、重新开始按钮。
3.棋盘界面的实现方法:通过Chesspoint类获得实际棋子的位置。3.棋盘功能的实现方法:利用JFrame将棋子显示出来,Chess对围棋界面外观进行初始化之后即可创建围棋对象。
四.测试数据及运行结果
1.围棋图形用户界面,如图5.1所示:
图5.1 用户界面
2.黑白棋对弈,如图5.2所示:
e.界面左边的对话框提示可选择棋盘大小功能,如图5.3所示:
图5.3 棋盘大小选择界面
五.主要源程序
1.Chess类是此程序的主类之一,用来初始化棋盘的外观: import java.awt.*;import javax.swing.JFrame;
public class Chess extends JFrame { Chessboard qipan = new Chessboard();;
// 初始化外观
public Chess(){
this.setTitle(“围棋程序”);
this.setLayout(new BorderLayout());
this.setSize(qipan.getSize());
public int getWidth(){ return size + controlPanel.getWidth()+ 35;} public int getHeight(){ return size;} //绘制棋盘外观
public Chessboard(){„} public void addNotify(){
super.addNotify();
offscreen = createImage(size, size);
offg = offscreen.getGraphics();} „„ } 3.Chesspoint类用来通过x和y取得黑白棋子的位置: public class Chesspoint { public static int black=0,white=1;int x,y;int color;public Chesspoint(int i,int j,int c){
x=i;
y=j;
color=c;}
public String toString(){
String c=(color==black?“black”:“white”);
return “[”+x+“,”+y+“]:”+c;} 六.实训总结与心得体会
通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。在这之前由于种种原因我JAVA学的很不太好。但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,JAVA开发工具的不熟悉,所以开始的时候进程很慢,但付出定有回报,成功的配置了JDK,熟悉了JAVA开发工具,总的说来,自己还是有一定的收获的。因为自己的动手操纵能力得到了提高。最