淮阴工学院实验报告2016-------2017学年第1学期学院计算机与软件工程学院课程名称算法实训班级达内1151学号1151331134姓名陈龙指导教师达内讲师算法实训实验报告一、实训目的及意义进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习java的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,巩固大二所学专业的基本知识,提高分析、判断和处理实际问题的能力,锻炼自己的实际动手能力,增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。二、实训任务实习期间,通过学习一个简单的Java程序——飞机大战,了解和掌握Java编程的基础,如构造器、API接口等。最后可以独立完成一个小程序。三、实习训语言Java的特点1.Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,不必为内存管理而担忧。2、Java语言是一个面向对象的Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。3、Java语言是分布式的Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括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中的类有一个运行时刻的表示,能进行运行时刻的类型检查。四、实习时间2016年12月12日——12月16日五、实训项目--飞机大战【1】方案1.需求:2.需求分析:由图2可以看出游戏中至少有4个类,Hero(英雄机),Airplane(敌机),Bee(小蜜蜂),Bullet(子弹)。3.类的设计1.创建4个类敌机:Airplane小蜜蜂:Bee子弹:Bullet英雄机:Hero2.两个接口敌人:Enemy奖励:Award3.一个父类飞行物:FlyingObject4.一个测试类ShootGame其中,敌机继承敌人,继承飞行物子弹,飞行物,继承飞行物小蜜蜂继承奖励,继承飞行物5.飞行物父类的对象和行为对象:图形长宽,横纵坐标行为:走步6.奖励接口的对象和行为常量:奖励0:双倍火力,奖励1:一条命抽象方法:奖励类型7.敌人接口抽象方法:分数8.窗体类设置测试类ShootGame继承面板静态块:加载图形资源(方法区)初始化静态资源在mian()中画窗体【2】项目目录如下:需要建Airplane,Award,Bee,Bullet,Enemy,FlyingObject,Hero和ShootGame八个类。其中,有两个是接口(即:敌人:Enemy奖励:Award)一个测试类(也是图形界面窗口)ShootGame有一个父类:飞行物FlyingObject敌机继承敌人,继承飞行物子弹,飞行物,继承飞行物小蜜蜂继承奖励,继承飞行物【3】程序代码如下:1.Airplane2.Bee3.Bullet4.Hero5.Award6.Enemy7.FlyingObject8.ShootGame1.加载图片2.绘制窗体9.Paint图形1.代码重构1.1.在FlyingObject类中添加get.set方法(可在Source中生成)1.2.在Airplane,Bee,Bullet中添加构造方法1.3.在ShootGame中画出英雄机,子弹,和飞行物10.飞行物出场(工厂方法):nextOne():随机出现蜜蜂和飞机游戏界面效果:11.重写1.敌机:扩充走步2.小蜜蜂:扩充走步3.子弹:扩充走步(有参构造)4.英雄机:图片交换其中,对比敌机走步与子弹走步,y是相反的,因为子弹是由英雄机发射,向上飞行,敌机只有下落功能。蜜蜂是倾斜下落的,所以会发杂一些。英雄机的走步就是图片的交换,形成动画效果见图1,图1中有hero0和hero1两张图片,分别如:图hero0图hero112.飞行物走步13.子弹入场(数组追加)1.在Hero中添加发射子弹的方法2.在ShootGame中进行子弹入场(数组追加)14.碰撞检测1.在Hero中添加如下代码2.在ShootGame中进行碰撞检测15.删除越界1.在hero,Airplane,bee,bullet中添加越界方法hero类中需添加的越界方法Bullet类中需添加的越界方法Airplane和bee类中需添加的越界方法15.状态切换1.画分和命2.画状态2.1.状态切换游戏界面效果:六、总结这次实训让我学到了很多东西,让我整体素质有所提升,明白了很多做人做事的道理。第一、毕业了以后不是学习的结束,而是学习的开始,在当今社会,只有不断地汲取新信息新知识,才能获得事业进步的动力,武装自己的头脑,提升自己的能力,扩展自己的视野。第二、学习要联系实践,一个人的价值是通过实践活动来实现的,也只有通过实践才能提升人的品质,彰显人的意志。学到的理论只有通过实践的检验才是合格的。第三、我们要做一个勤于思考的人,我们只有注意观察、分析、总结、提炼,才能积累经验,使自己的工作做出成绩。同时我也明白了遇到麻烦解决的办法有很多:第一、就是上网查询,不懂的可以查查,不要一不会就去问别人,得先自己想办法解决;第二。请教别人。当自己查资料解决不了,就去问一下别人,不要老死扣着,反而浪费时间。当然遇到麻烦的事情千万不要着急,越着急越然人昏头转向,越着急越解决不了问题,还不如心平气静的想想解决办法,或者转换下思维,先做其他的事情,静下来时再去思考。遇到问题时,要保持一颗平常心。第四、有的时候人与人的差别并不大,但工作热情的不同却使两个人做出完全不同的成绩,只有具备热情,才能保证你能发挥自己全部的能量和才能。一个人的能力有差异,但关键是看你能发挥出多少,这就取决于热情。用自己的热情来点燃斗志。而且热情是可以传递的,一个人全力投入工作,他可带动周围的人,感染周围的人全力以赴,是整个团队赶出骄人的成绩。最后,衡量一个人是不是人才,不仅是看知识掌握的多少,当代社会更看重的是一个人的沟通能力。原来一直觉得学校的知识是没用的,当真正用到了才后悔自己当时为什么不好好学习。所以说实习注重实践和在学校学习理论是相辅相成的。平时在学校学的不知道是否有用,但当实习后我们就清楚学习的知识到底有什么实际应用,和当今社会的发展有什么联系。只有到公司亲身实践,才让我们更加明确了那些知识是能跟上时代发展,那些知识已经落后了,什么样的人才是当今社会需求的。同时通过实习让我们认识到了自己知识掌握的不足,更加激发了我们学习的热情。而这一次的专业实习,让我明白了大学生生产实习是引导我们学生走出校门,走向社会,接触社会,了解社会,投身社会的良好形式;是培养锻炼才干的好渠道;是提升思想,树立服务社会的思想的有效途径。通过参加专业实习活动,有助于我们在校中学生更新观念,吸收新的思想与知识。近四个月的实习,虽然时间很短,却让我从中领悟到了很多的东西,而这些东西将让我终生受用。专业实习加深了我与社会各阶层人的感情,拉近了我与社会的距离,也让自己在实践中开拓了视野,增长了才干,进一步明确了我们青年学生的成材之路与肩负的历史使命。社会才是学习和受教育的大课堂,在那片广阔的天地里,我们的人生价值得到了体现,为将来更加激烈的竞争打下了更为坚实的基础。我在实践中得到许多的感悟!通过在达内的实习,让我的专业知识有了进一步的提高,缩短了我与社会接轨距离。让我懂得在工作上还要有自信。自信不是盲目地自夸,而是对自己的能力做出肯定。社会经验缺乏,学历不足等种种原因会使自己缺乏自信。其实有谁一生下来句什么都会的,只要有自信,就能克服心理障碍,那一切就变得容易解决了。同时知识的积累也是非常重要的。知识犹如人的血液。人缺少了血液,身体就会衰弱,人缺少了知识,头脑就要枯竭。这次接触的酿造业,对我来说很陌生,要想把工作做好,就必须了解这方面的知识,对其各方面都有深入的了解,才能更好地应用于工作中总之,通过这次实习,确实让自己成长了许多。在工作中,总会遇到这样那样的问题,当前的软件的功能日趋复杂,不学到一定的深度和广度是难以在实际工作中应付自如的。因此反映出学习的还不够,缺点疏漏。需再加以刻苦钻研及学习,不断开拓视野,增强自己的实践操作技能,为以后能做好工作而努力。