java程序设计实践实习报告.docx
- 文档编号:15280275
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:11
- 大小:23.94KB
java程序设计实践实习报告.docx
《java程序设计实践实习报告.docx》由会员分享,可在线阅读,更多相关《java程序设计实践实习报告.docx(11页珍藏版)》请在冰点文库上搜索。
java程序设计实践实习报告
竭诚为您提供优质文档/双击可除
java程序设计实践实习报告
篇一:
JAVA实习报告
实习报告
实习性质:
JAVA程序设计学生姓名:
胡桂豪专业班级:
计应103指导教师:
万青、陈戈、谢先伟实习时间:
20XX-12-31—20XX-1-6实习地点:
4312
重庆工程职业技术学院
目录
1实习目的...................................................................................................................................4
2实习内容...................................................................................................................................4
2.1设计文档..........................................................................................................................4
2.2需求分析...........................................................................................................................6
2.3设计方法...........................................................................................................................6
2.3.1chessFrame主要功能...............................................................................................6
2.3.2游戏主窗体.............................................................................................................7
2.3.3主菜单......................................................................................................(:
java程序设计实践实习报告)..............8
2.3.4创建待机室.............................................................................................................9
2.3.5服务器端..............................................................................................................10
2.3.6客户端..................................................................................................................12
3实习心得.................................................................................................................................14
1实习目的
根据教学计划的安排,本课程在后半学期将进行一周的课程实习安排,完成《JAVA小游戏:
五子棋》的开发。
通过实习,可以使学生进一步掌握Java面向对象设计方法、JDK常用类、Java窗口界面设计、数据库访问等方面的知识和技能,将前面学习的基础知识应用到实际的软件开发中去,积累应用程序分析、设计、编码、调试的经验。
Java的广泛流行是与它所编写的程序可以在网络上运行且可以跨平台。
事实上,支持Java的浏览器内置Java虚拟机,使得Java的小程序能够在网络上完全地传送和运行。
这样使得程序人员即使不具备有关的网络知识,也能编写出高质量的网络通信程序。
“网上五子棋游戏”便是其最好的例子。
本程序是一个基于网络协议为Tcp/Ip的网上对弈游戏,采用服务器-客户端的网络架构模式,允许网络上的多台机器(可能是两台机器)同时运行,一台用作服务器,始终处理网络上要求它进行服务的请求。
如果有机器请求与它进行连接,用作服务器的机器接受之后就可以进行相互之间的通信。
通过本程序,我们初步熟悉并掌握java语言的基本知识,掌握服务器-客户端的网络架构模式,为以后学习高级web开发课程做准备。
2实习内容
2.1设计文档
(1)界面棋盘设计
在对棋盘界面设计方面要考虑简洁友好,符合游戏者需求。
棋子的设计方面系统中设置了两种棋子颜色,white或者black,游戏者可自行选择。
棋子怎样画出来,怎样使棋子按我们所想的方式来绘制出来是设计的主要难题。
运行时要求当每次点击鼠标的时候就在点击鼠标的地方画一个棋子,所以得定义一个棋子的类使点击鼠标时系统把棋子绘制出来。
这样主界面里的棋子就确定了,而且也确定了几个所需要的类。
可以先定义好这些类了。
有了以上的准备就可以把棋盘绘制出来了,下棋时每次在适当位置点击鼠标的时候就在所点击的位置上画出你这个角色的颜色,然后计算机会自动的下棋,计算机自动下棋要有一个控制变量来控制能不能下棋。
人可以随意的下子,可是计算机就要计算在哪
个位置下子了。
这里由计算机下子的算法来确定,人人对战的话就不象单机游戏一样,要计算机来判断人下子之后计算机下那一个地方了,人人对战只要在双方下子的时候判断赢棋情况,当然还要同步的控制两个人下棋的顺序,这样的话就要用到线程了,各自都继承或实现线程类或接口,以便各自能随时单独控制接发消息。
(2)算法设计
对于五子棋游戏,无论人机对战,还是双人对战,都需要判断棋盘上是否存在五子连珠情况,这既是游戏名字的由来,也是游戏结束的标志。
判断五子连珠的原理是从横,竖,左斜线,右斜线4条线上判断是否存在5个相连的同类棋子。
对战一方落子后,在该处向8个方向检测连续的同类棋子,如果检测到直线方向上存在5个连续的同类棋子(包含本位置棋子),则判断为“连五”并结束检测循环。
基于检测结果,可以判断游戏是否结束,并根据获胜方的落子代码判断获胜方是谁。
由于不考虑禁手问题,在实现“连五”过程中,我们可以考虑完成“双四”,“四三”,“双三”,“冲四”,“活三”,“活四”来实现目的。
活四:
有两个点能形成“连五”的四就是活四;
冲四:
只有一个点能形成“连五”的四叫做“冲四”,或者叫做“单四”;
活三:
己方在落一子就能形成“活四”的三叫做“活三”。
“活三”分为“连活三”和“跳活三”。
连活三:
在棋盘某一条阳线或阴线上有同色三子相连,且在此三子两端延长线上有一端至少有一个,另一端至少有两个无子的交叉点与此三子紧密相连。
跳活三:
中间仅间隔一个无子交叉点的连三,但两端延长线均至少有一个无子的交叉点与此三子相连。
双三:
由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方"活"的局面。
双四:
由于黑方走一着在无子交叉点上同时形成二个或二个以上黑方"四"的局面。
四三:
指某一方同时具备两个先手,其中一个是"四",一个是"活三"。
在实现上面这些高级算法的时候,我们需要一个基础,就是对制定位置周围情况进行检测。
在棋盘上面,棋子存在8个移动方向,检测时需要对每个方向进行检测。
为了简单直观,这里将每步棋子的移动生成一个新的棋子。
篇二:
Java实习报告
哈尔滨理工大学管理学院信息系
实习报告
班级
姓名
学号
20XX年7月15日
一、实习目的及意义
进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。
学习sQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。
通过实习,巩固大学所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。
二、实习任务
实习期间,通过学习一个简单的Java程序——飞机大战,了解和掌握Java编程的基础,如构造器、ApI接口等。
最后可以独立完成一个小程序。
三、实习语言Java的特点
Java语言的语法与c语言和c++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了c++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而c++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括uRL、uRLconnection、socket、serversocket等。
Java的RmI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类classLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类securitymanager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用AnsIc实现的。
8、Java是高性能的
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度
随着JIT(Just-In-Time)编译器技术的发展越来越接近于c++。
9、Java语言是多线程的
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
10、Java语言是动态的
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
四、实习时间
20XX年7月12日——7月15日
五、实习地点
哈尔滨达内科技有限公司。
六、实习公司简介
达内全称达内时代科技集团有限公司,是中国高端IT培训的领先品牌,致力于培养面向电信和金融领域的Java、c++、c#/.net、软件测试、嵌入式、php、android等方面的中高端软件人才。
由于达内优秀的教学效果和行业领先的经营模式赢得了社会各界的广泛赞誉和好评,荣获了各界权威机构的颁奖:
达内成为业界唯一的一家20XX、20XX、20XX、20XX连续4年入选德勤评选的“中国高科技高成长50强公司”、“亚太地区高科技高成长500强公司”,获得首届中国留学人才归国创业“腾飞”奖、中关村管理委员会指定的“软件人才培养示范基地”、被《计算机世界》评选的“就业服务杰出贡献奖”、被《中国计算机报》评选的“最具影响力培训机构奖”、被搜狐评为“中国十大教育集团”、被腾讯评为“中国大学生心目中最具影响力的IT品牌”。
七、实习成果
部分代码展示:
games:
importjava.awt.event.KeyAdapter;
importjava.awt.event.Keyevent;
importjavax.swing.JFrame;
publicclassgamesextendsJFrame{
worldw=newworld();
publicgames(){
this.setsize(320,480+30);
this.setTitle("飞机大战");
this.setLocationRelativeTo(null);
this.setDefaultcloseoperation(exIT_on_cLose);
this.setResizable(false);
this.add(w);
this.setVisible(true);
Threadt=newThread(w);t.start();this.addKeyListener(newKeyAdapter(){@overridepublicvoidkeypressed(Keyevente){switch(e.getKeycode()){caseKeyevent.VK_LeFT:
w.plane.left=true;break;caseKeyevent.VK_up:
w.plane.up=true;break;caseKeyevent.VK_RIghT:
w.plane.right=true;break;caseKeyevent.VK_Down:
w.plane.down=true;break;}}@overridepublicvoidkeyReleased(Keyevente){switch(e.getKeycode()){caseKeyevent.VK_LeFT:
w.plane.left=false;break;caseKeyevent.VK_up:
w.plane.up=false;break;caseKeyevent.VK_RIghT:
w.plane.right=false;break;caseKeyevent.VK_Down:
w.plane.down=false;break;}}});}publicstaticvoidmain(string[]args){gamesgames=newgames();
}
}
world:
importjava.awt.color;
importjava.awt.Font;
importjava.awt.graphics;
importjava.awt.image.bufferedImage;
importjava.io.Ioexception;
importjava.util.Random;
importjava.util.Vector;
importjavax.imageio.ImageIo;
importjavax.swing.Jpanel;
publicclassworldextendsJpanelimplementsRunnable{
mapmap=newmap();//创建地图
planeplane=newplane();
Vectorbullets=newVector();
intbulletcount=0;
intbulletstep=8;
Vectornpcs=newVector();
intnpccount=0;
intnpcstep=50;
Vectornbs=newVector();
//随机数
Randomr=newRandom();
publicstaticintscore;
publicstaticfinalintsTART=0;
publicstaticfinalintRunnIng=1;
publicstaticfinalintgAme_oVeR=2;
publicintstatus;
bufferedImagestart;
bufferedImagegame_over;
publicworld(){
try{
start=ImageIo.read(getclass().getResource("imgs/start.png"));game_over=ImageIo.read(getclass().getResource("imgs/gameover.png"));
}catch(Ioexceptione){
//ToDoAuto-generatedcatchblock
e.printstackTrace();
}
//初始状态
status=RunnIng;
}
//绘制
篇三:
java开发实习报告
郑州轻工业学院
校外实习报告
实习名称:
软件工程实践
院(系):
软件学院姓名:
张婷婷专业班级:
软件工程(卓越计划)12-1学号:
541213440156校外指导教师:
郭苗校内指导教师:
赵晓君实习单位:
昆山杰普软件科技有限公司
成绩:
20XX-20XX学年第1学期
目录
第一部分实习概括
第二部分实习内容
1昆山杰普软件实习.................................................................................1
1.1学习生活.........................................................................................2
1.1.1coreJava学习..........................................................................2
1.1.2数据库学习................................................................................3
1.1.3Javaweb学习............................................................................3
1.2面试与就业....................................................................................4
2公司实习..................................................................................................5
2.1工作环境.........................................................................................5
2.2工作情况.........................................................................................53公司项目总结..........................................................................................7
3.1项目功能实现.................................................................................7
3.2功能模块完善...............................................................................12
3.3测试与上线...................................................................................124生活感想................................................................................................135实习感想................................................................................................14
第一部分实习概括
实习公司:
昆山杰普软件科技有限公司
校外指导老师:
郭苗
实习简介:
昆山杰普软件科技有限公司是一所培训性质的公司。
我在昆山杰普软件科技有限公司共实习了三个月,后来进入上海宝资信息有限公司实习。
这是一家软件公司,以出售自己的服务为主要业务,业务主要是针对国内各种汽车行业的库存管理。
我将在这里实习到20XX年五月份左右,然后回到学校处理毕业设计的相关问题。
在昆山的实习主要以学习为主,计划的实习时间是4个月,在杰普学习的时候我提前找到了工作,所以提前结束了在昆山杰普软件科技有限公司的实习生涯。
在昆山主要学习的课程有coreJava,数据库,Javaweb,hibernate等等。
实习到了中期的时候,进入到了面试及就业的时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 实践 实习 报告