当前位置:文档之家› Java设计模式大作业

Java设计模式大作业

Java设计模式大作业
Java设计模式大作业

武汉轻工大学

数学与计算机学院

2018-2019学年第二学期

JAVA大作业

指导老师: ***** 专业:信息管理与信息系统

班级:信管1602班

学号: ********** 姓名: ****

2019年6月5日

Java设计模式学习体会

1、策略模式:

策略模式就是将能够通用的算法,封装成不同的组件,实现同一个接口,使之可以互换。

例子:SpringMVC的9大组件,都采用策略模式。比如HandlerMethodArgumentResolver,有非常多不同的实现类,这些实现类都可以互相替换来处理不同类型的参数,这就是策略模式。

我们知道一件事可能会有很多种方式来实现它,但是其中总有一种最高效的方式,在软件开发的世界里面同样如此,我们也有很多中方法来实现一个功能,但是我们需要一种简单、高效的方式来实现它,使得系统能够非常灵活,这就是策略模式。

所以策略模式就是定义了算法族,分别封装起来,让他们之前可以互相转换,此模式然该算法的变化独立于使用算法的客户。

在策略模式中它将这些解决问题的方法定义成一个算法群,每一个方法都对应着一个具体的算法,这里的一个算法我就称之为一个策略。虽然策略模式定义了算法,但是它并不提供算法的选择,即什么算法对于什么问题最合适这是策略模式所不关心的,所以对于策略的选择还是要客户端来做。客户必须要清楚的知道每个算法之间的区别和在什么时候什么地方使用什么策略是最合适的,这样就增加客户端的负担。

同时策略模式也非常完美的符合了“开闭原则”,用户可以在不修改原有系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。但是一个策略对应一个类将会是系统产生很多的策略类。

策略模式与模板方法模式的区别:比如一个抽象类有一个抽象方法,每个实现该抽象方法的具体实现都不同,就是模板方法模式,一般在抽象类中会有逻辑处理,只是用到了抽象的模板方法时,交给具体的子类去不同实现。

如果一个模板方法,被子类实现时,实现方式大都相同,比如模板方法为处理字符(10个子类可能只有两种实现,一种是处理为UTF-8,一种是处理成GBK),那么这个模板方法就应该使用策略模式。

2、观察者模式:

观察者模式就是将“观察者”注册给“被观察者”,当被观察者发生改变时,能够及时的通知所有观察者。

例子:比如listener或者事件触发等,都是观察者模式

3、装饰者模式:

装饰者模式就是在不必改变原类文件和使用继承的情况下,动态的扩展对象的的功能。比如你有一个真实对象,有一个包装对象,两个对象都必须实现同一个接口A;但是在进行包装的时候,包装对象需要引用真实对象,然后在真实对象的基础上进行功能扩展,最后返回的都是接口A的对象。但是已经被包装过了,扩展了功能。

我们可以通过继承和组合的方式来给一个对象添加行为,虽然使用继承能够很好拥有父类的行为,但是它存在几个缺陷:一、对象之间的关系复杂的话,系统变得复杂不利于维护。二、容易产生“类爆炸”现象。三、是静态的。在这里我们可以通过使用装饰者模式来解决这个问题。

装饰者模式,动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。虽然装饰者模式能够动态将责任附加到对象上,但是他会产生许多的细小对象,增加了系统的复杂度。

4、工厂方法模式

工厂方法模式就是定义一个创建对象的接口,里面有一个创建对象的方法。通过继承或者实现,将对象的创建交给子类。而调用者只用使用接口就可以了,不用关心具体的对象是怎么创建出来的。

作为抽象工厂模式的孪生兄弟,工厂方法模式定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,也就是说工厂方法模式让实例化推迟到子类。

工厂方法模式非常符合“开闭原则”,当需要增加一个新的产品时,我们只需要增加一个具体的产品类和与之对应的具体工厂即可,无须修改原有系统。同时在工厂方法模式中用户只需要知道生产产品的具体工厂即可,无须关系产品的创建过程,甚至连具体的产品类名称都不需要知道。虽然他很好的符合了“开闭原则”,但是由于每新增一个新产品时就需要增加两个类,这样势必会导致系统的复杂度增加。其UML结构图:

5、抽象工厂模式

抽象工厂模式就是定义一个为创建一组(多个)相关或者相依赖的对象的接口,而调用者无需关心具体的创建对象的实现类。

工厂方法模式与抽象工厂模式的区别:当抽象工厂模式定义的接口中只能创建一个对象,那么“抽象工厂模式”就退化成为了“工厂方法模式”。

所谓抽象工厂模式就是提供一个接口,用于创建相关或者依赖对象的家族,而不需要明确指定具体类。他允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产品是什么。这样一来,客户就可以从具体的产品中被解耦。它的优点是隔离了具体类的生成,使得客户端不需要知道什么被创建了,而缺点就在于新增新的行为会比较麻烦,因为当添加一个新的产品对象时,需要更加需要更改接口及其下所有子类。其UML结构图如下:

6、单例模式简单图解

7、命令模式

命令模式就是把请求封装成命令对象,“调用者”就是将“命令对象”传递给“处理对象”。

8、适配器模式

适配器模式就是将一个接口转换成为另一个接口。

在我们的应用程序中我们可能需要将两个不同接口的类来进行通信,在不修改这两个的前提下我们可能会需要某个中间件来完成这个衔接的过程。这个中间件就是适配器。所谓适配器模式就是将一个类的接口,转换成客户期望的另一个接口。它可以让原本两个不兼容的接口能够无缝完成对接。

作为中间件的适配器将目标类和适配者解耦,增加了类的透明性和可复用性。

9、外观模式

外观模式提供了一个统一的接口,用来访问系统中的一群接口。外观模式定义了一个高层接口,让使用变得更加容易(不用再去调用一群接口,外观接口已经将一群接口封装好了)。

我们都知道类与类之间的耦合越低,那么可复用性就越好,如果两个类不必彼此通信,那么就不要让这两个类发生直接的相互关系,如果需要调用里面的方法,可以通过第三者来转发调用。外观模式非常好的诠释了这段话。外观模式提供了一个统一的接口,用来访问子系统中的一群接口。

它让一个应用程序中子系统间的相互依赖关系减少到了最少,它给子系统提供了一个简单、单一的屏障,客户通过这个屏障来与子系统进行通信。通过使用外观模式,使得客户对子系统的引用变得简单了,实现了客户与子系统之间的松耦合。但是它违背了“开闭原则”,因为增加新的子系统可能需要修改外观类或客户端的源代码。

10、模板方法模式

模仿方法模式定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。

有些时候我们做某几件事情的步骤都差不多,仅有那么一小点的不同,在软件开发的世界里同样如此,如果我们都将这些步骤都一一做的话,费时费力不讨好。所以我们可以将这些步骤分解、封装起来,然后利用继承的方式来继承即可,当然不同的可以自己重写实现嘛!这就是模板方法模式提供的解决方案。

所谓模板方法模式就是在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

模板方法模式就是基于继承的代码复用技术的。在模板方法模式中,我们可以将相同部分的代码放在父类中,而将不同的代码放入不同的子类中。也就是说我们需要声明一个抽象的父类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法让子类来实现剩余的逻辑,不同的子类可以以不同的方式来实现这些逻辑。所以模板方法的模板其实就是一个普通的方法,只不过这个方法是将算法实现的步骤封装起来的。

11、迭代器模式

迭代器模式就是Iterator接口,使得客户可以顺序得访问对象中的各个元素,又不暴露对象内部的细节。

12、组合模式

当你将对象的组合(多个对象)组成树结构来展现,那么不管你这个对象是节点(还包含子节点),还是叶子节点(不包含子节点),都可以用一致的方式进行处理。

组合模式组合多个对象形成树形结构以表示“整体-部分”的结构层次。它定义了如何将容器对象和叶子对象进行递归组合,使得客户在使用的过程中无须进行区分,可以对他们进行一致的处理。在使用组合模式中需要注意一点也是组合模式最关键的地方:叶子对象和组合对象实现相同的接口。这就是组合模式能够将叶子节点和对象节点进行一致处理的原因。

虽然组合模式能够清晰地定义分层次的复杂对象,也使得增加新构件也更容易,但是这样就导致了系统的设计变得更加抽象,如果系统的业务规则比较复杂的话,使用组合模式就有一定的挑战了。

13、状态模式

状态模式是指当前对象把处理自己不同状态的的行为对象,都封装成为自己的属性。当状态发生改变时,调用不同的行为对象,执行不同的操作。(看起来就好像类发生了改变一样)

14、代理模式

为另一个对象提供一个替身或占位符以访问这个对象(包装一个对象,并控制对它的访问)

15、复合模式

复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。(MVC模式就是典型的符合模式;其中Model是观察者模式,发生改变后通知View;View是组合模式,通过各种不同的组件嵌套组成一个完整的View展现用户界面;Controller是策略模式,不同的View可以使用不同的Controller处理不同的业务)

17、建造者(生成器)模式

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。Spring里面的FactoryBean就是建造者模式

18、责任链模式

使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。(责任链就是一个链表结构,头结点处理完成以后再决定是否要交由下一个节点继续处理,直到没有下一个节点或者其中对象终止责任链)

19、蝇量模式(享元模式)Flyweight Pattern

享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。

在一个系统中对象会使得内存占用过多,特别是那些大量重复的对象,这就是对系统资源的极大浪费。享元模式对对象的重用提供了一种解决方案,它使用共享技术对相同或者相似对象实现重用。

享元模式就是运行共享技术有效地支持大量细粒度对象的复用。系统使用少量对象,而且这些都比较相似,状态变化小,可以实现对象的多次复用。这里有一点要注意:享元模式要求能够共享的对象必须是细粒度对象。

享元模式通过共享技术使得系统中的对象个数大大减少了,同时享元模式使用了内部状态和外部状态,同时外部状态相对独立,不会影响到内部状态,所以享元模式能够使得享元对象在不同的环境下被共享。同时正是分为了内部状态和外部状态,享元模式会使得系统变

得更加复杂,同时也会导致读取外部状态所消耗的时间过长。

21、中介者模式

中介者模式(Mediator Pattern)

是用来降低多个对象和类之间的通信复杂性。这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。中介者模式属于行为型模式。

22、备忘录模式

备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。

应用实例: 1、后悔药。2、打游戏时的存档。3、Windows 里的ctri + z。4、IE 中的后退。4、数据库的事务管理。

23、原型模式

原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。

应用实例: 1、细胞分裂。2、JAVA 中的Object clone() 方法。3、Java序列化与反序列化可以实现深度克隆

24、访问者模式

访问者模式拥有访问者类,与被访问元素类。元素类通过接受访问者类对象,并且将自身的引用交给访问者,这样访问者就可以使用元素类。

总结

如何学习设计模式:

在了解了设计模式的历史和分类后,应该如何学习设计模式呢?在学习设计模式之前,读者一定要树立一种意识,那就是:设计模式并不只是一种方法和技术,它更是一种思想、一个方法论。它和具体的语言没有关系,学习设计模式最主要的目的就是要建立面向对象的思想,尽可能地面向接口编程、低耦合、高内聚,使你设计的程序尽可能地复用。

有些软件开发人员,在程序设计时,总想着往某个设计模式上套,其实这样是不对的,并没有真正掌握设计模式的思想。其实很多时候读者用了某种设计模式,只是自己不知道这个模式叫什么名字而已。因此,在程序设计时,要根据自己的理解,使用合适的设计模式。

而有另外一些软件开发人员,在程序设计时,动不动就给类起个类似模式的名字,比如叫某某Facade、某某Factory等,其实类里面的内容和设计模式根本没有一点关系,只是用来标榜自己懂设计模式而已。

因此,学习设计模式,首先要了解有哪些方面的设计模式可以供开发人员使用,然后再分别研究每个设计模式的原理,使用时机和方法,也就是说要在什么情况下才使用某个设计模式,在了解某个设计模式的使用时机时,还要了解此时如果不使用这个设计模式,会造成什么样的后果。当对每个模式的原理和使用方法都了解了以后,更重要的是,学习面向对象的思想方式,在掌握面向对象的思想方式后,再回过头来看设计模式,就会有更深刻的理解,最后,学习设计模式,一定要勤学多练。

Java程序设计在线作业-单选题2

Java程序设计在线作业2 一、单选题(共 10 道试题,共 30 分。) 1. 下列程序的输出结果是import java.io.*; public class abc { public static void main(String args[]) { String s1="Hello!"; String s2=new String("World!"); System.out.println(s1.concat(s2)); } } A. false B. Hello! C. Hello!Wofld! D. 12 2. 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 A. init() B. start() C. destroy() D. stop() 3. Java语言的类型是() A. 面向对象语言 B. 面向过程语言 C. 汇编程序 D. 形式语言 4. 下列哪一项不属于Awt布局管理器?() A. GridLayout B. CardLayout C. BorderLayout D. BoxLayout

5. 下面代码的执行结果是什么?( )<% x=3; %><% int x=5; %><%! int x=7; %> x = <%=x%>, <%=this.x%> A. x = 3, 5 B. x = 3, 7 C. x = 5, 3 D. x = 5, 7 6. Java Applet 源程序文件的扩展名为()。 A. .java B. .class C. .html D. .exe 7. 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的()方法来完成一些画 图操作。() A. start() B. stop() C. init() D. paint() 8. 阅读下面的代码,第10行的语句将调用哪个方法?() 1. class Person { 2. public void printValue(int i, int j) {/*…*/ } 3. public void printV alue(int i){/*...*/ } 4. } 5. public class Teacher extends Person { 6. public void printValue() {/*...*/ } 7. public void printValue(int i) {/*...*/} 8. public static void main(String args[]){ 9. Person t = new Teacher(); 10. t.printValue(10); 11. } 12. } A. 行2 B. 行3 C. 行6

《java游戏大作业设计》

大作业报告 课题:吃豆人游戏的设计与实现 姓名:黄子强 学号:201517030207 同组姓名:刘照、杜威 专业班级:网工15102 指导教师:何青 设计时间:2018.6.18

目录 一、课程设计目的 (1) 二、需求分析 (1) 三、总体设计 (2) 3.1类的设计 (2) 3.2事件的设计 (3) 四、详细设计 (4) 4.1 PacWorld类 (4) 4.2 Animal类 (7) 4.3 PacMan类 (9) 4.4 Ghost类 (11) 4.5 Blank类 (14) 4.6 Position类 (14) 4.7 Score类 (15) 4.8 Lives类 (16) 4.9 Object类 (17) 4.10 Coin类&Power_Pellet类 (17) 五、游戏测试 (17) 5.1 游戏界面展示 (17) 5.2 游戏效果测试 (19) 总结 (20)

一、课程设计目的 复习、领会、巩固和运用课堂上所学的JAVA游戏编程方面的技术知识,让学生掌握游戏设计的基本原理和游戏编程的基本方法,掌握游戏开发的一般步骤和相应文档的编制,能够设计、调试、运行一个完整的游戏项目;提高开发过程中的团队意识,锻炼学生书面和口头表达能力,为学生提供主动学习、积极探索与大胆创新的机会。 通过本次游戏设计,综合自己在校期间所学的理论知识,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。 二、需求分析 吃豆子游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。开发的出来的吃豆子游戏是一种内容丰富,画面优美,益智类游的戏,并且不受网络的限制,让人们能够在任何时刻通过体验游戏,放松心情。 设计需求: ①游戏界面设计要能够彰显设计者的基本设计框架及思路; ②游戏界面布局要清晰整洁、层次明确; ③游戏的设计要使玩家能在短时间内掌握游戏规则; ④玩家可以自由操控角色,玩家角色具有吃豆子的功能; ⑤吃到不同的豆子能有不同的效果(分数变化、角色状态的变化等等); ⑥怪物要能够自主运动,采用其特定的算法独立实现; ⑦游戏中怪物与玩家角色之间要有相应的事件(比如:触碰到玩家角色时玩家生命减1); ⑧界面上要能有够显示出当前的得分情况以及当前的生命值; ⑨对于游戏的设计,在游戏结束时能够有相应的提示。

JAVA学生管理系统期末大作业

JA V A学生管理系统大作业 课程名称:JA V A编程基础 题目:学生信息管理系统 专业:计算机软件 班级:计算机软件121班 学号:8000612030 学生姓名:李俊楠 完成人数:1人 起讫日期:第十六周至第十八周 任课教师:龚根华职称:副教授 部分管主任: 完成时间:2015-1-2

目录 ------------------------------2 课题设计内容------------------------------3 程序功能简介 需求分析--------------------------------------------------3 总体设计---------------------------------------------------3 模块详细设计---------------------------------------------------4 数据库设计 ------------------------------5 主体内容 ------------------------------6 心得体会 -----------------------------11 参考书籍 -----------------------------12

一:课题设计内容 学生管理系统 学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。 二:程序功能简介 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所

Java大作业_学生成绩管理

Java大作业_学生成绩管理本科学生综合性实验报告 课程名称:Java开发技术 项目名称:学生成绩治理系统 学生姓名学号 指导教师 开课学期2011 至2012学年第一学期 完成时刻2011 年1 月 3 日

名目 摘要 2 1 项目研究开发的背景及意义2 1.1 本课题设计学术价值、理论意义和实践意义 2 1.2 本课题设计拟研究的要紧咨询题2 1.3重点和难点3 1.4 研究方法、预期效益3 1.5 本项目创新点和特色3 2 需求分析3 2.1 开发背景 3 2.2 项目目标 4 2.3 运行环境 5 2.4任务讲明书5 3 技术路线及关键技术7 3.1系统总体功能图7 3.2学生成绩治理系统的功能模块简介:8 3.3 系统运用的要紧技术: 29 3.4数据库设计29 3.5连接数据库32 4 测试报告及系统评判33 4.1 系统简介:33 4.2 系统特色及缺点:34 5 系统使用讲明34 5.1 用户操作指南: 34 6 个人感受及收成36 7大作业总结 37 感谢37 8 参考文献:38

摘要 人类已进入21世纪,科学技术突飞猛进,经济知识和信息产业初见端倪,专门是信息技术和网络技术的讯速进展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻.学生成绩治理系统是一个教育单位不可缺 少的部分,它的内容关于学校的决策者和治理者来讲都至关重要。此次大作业的学生成绩治理系统是用java编程+SQL server 2000数据库+SQL查询语言实现的.重点介绍了学生成绩治理系统的实现过程:包括系统需求分析、功能设计、数据库设计、系统实现、系统测试和调试等。 关键字:成绩治理统计信息治理数据库 1 项目研究开发的背景及意义 1.1 本课题设计学术价值、理论意义和实践意义 现在的社会知识经济在世界经济进展的地位越来越高,国家综合国力和国际竞争能力越来越取决于教育进展,科学技术和知识创新的水平,教育在经济和社会进展过程中将出现出越来越突出的重要作用。学生成绩治理系统是一个教育单位不可缺少的部分,它的内容关于学校的决策者和治理者来讲都至关重要,因此学生成绩治理系统应该能够为用户提供充足的信息和快捷的查询手段。然而有些学校依旧使用传统人工的方式治理学生成绩,填写各种表格,这种治理方式存在着许多缺点,如:效率低,保密性差,另外所用其时刻长,产生大量的文件和数据,这关于查找,更新和爱护都带来了许多的困难。在此次大作业中,我综合java编程、SQL数据库和SQL查询语言来实现一个简单的学生成绩治理系统。 1.2 本课题设计拟研究的要紧咨询题 一个完整的学生治理系统包括四个功能模板: (1)差不多信息治理:包括对学生、教师、课程、成绩信息进行查找、删除、修改和添加。 (2)课表查询:学生和教师都能够对自身的课表进行查询。 (3)统计功能:对学生单科成绩、总成绩、所有学生成绩的平均分进行统计,并作出相应的排名。

Java大作业-简单的学籍管理系统

上海电力学院 期末作业:简单的学籍管理系统 课程: Web 应用程序设计 院系:电气工程学院_____________________ 专业:电力系统及其自动化_______________ 学生姓名:张富杰学号:17103060 指导教师:______________ 曹渝昆___________________ 2017年1月6日

目录 一、设计思路 (3) 二具体实现......................................................................... 3.. . 三运行调试与分析......................................................................... 3.. . 四设计体会与小结......................................................................... 8.. . 五程序代码......................................................................... 8.. .

、设计思路 随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软件来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。 查询方式主要是支持学号查询,例如:输入“1”,则显示该学生的信息。 运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java 语句对其进行输出,学号查询时显示在文本框中;系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。 二具体实现 1.向班级里插入一个学生,但必须是插在已经建立的班级里。 2.输入学生信息,建立一个班级。 3.修改一个学生的所有资料。 4.删除某班的一个学生及其所有资料。 5.删除一个班级。 6.根据学生姓名查找某个学生信息。每种功能通过一个类来实现:类分分为主类、查询类、修改类、添加类、增加类。主类各功能界面的连接;精确查询类(SearchStude nt实现根据学生姓名查找某个学生信息;修改类(MdifyStude nt)实现修改一个学生的所有资料;添加类(AddStudent)实现向班级里插入一个学生,但必须是插在已经建立的班级里。;删除类(DeleteStudent)实现删除某班的一个学生及其所有资料。;删除类(DeleteClass) 实现删除一个班级;建立类(BuiltClasS实现输入学生信息建立一个班级。 三运行调试与分析 系统的详细设计代码请查阅附带的代码。以下仅对各个界面进行截图展示:

《java程序设计》作业答案

《JA V A程序设计》作业答案 一、选择题 1、编译HelloWorld.java的正确命令是: C) javac HelloWorld.java 2、正确运行HelloWorld.java的正确命令是: A)java HelloWorld 3、下面程序代码,使用多行注释正确的是: C)/* int k=9; int j=8; k = k + j; */ 4、long型的取值范围是: D)-263~263-1 5、下面不属于Java保留字的是: C)malloc 6、下面属于非法的Java标识符的是: D) abc-d 7、对与System.out.println()语句解释合理的是: C)执行后输出一个空行 8、阅读下面的代码,回答问题, for( m = 0 ; m > -2 ; m -- ){….} For循环执行多少次: C)2 9、阅读下面的代码,回答问题, for( m = 0; m < 5; m++ ) { System.out.print( m + "," ); if( m == 3 ) break; } 执行结果是: C)0,1,2,3, 10、阅读下面的代码,回答问题, public class Ex { int x = 1; void m() { int x = 3; System.out.print( "x= " + x); } public static void main( String[] args ) { Ex ex = new Ex();

ex.m(); } } 执行结果是: B)x=3 11、下面语句在编译时不会出现错误信息的是: a) float f = 1.3; b) char c = "a"; c) byte b = 257; d) boolean b = null; e) int i = 10; 12、编译和运行下面的代码,会有什么结果产生: public class MyClass { public static void main(String arguments[]) { amethod(arguments); } public void amethod(String[] arguments) { System.out.println(arguments); System.out.println(arguments[1]); } } a) 错误,静态方法不能直接引用非静态方法b) 错误,主方法有错误 c) 错误,数据定义有错误d) 方法amethod必须被声明为String型 13、编译期间会出错的是: a) import java.awt.*; package Mypackage; class Myclass {} b) package MyPackage; import java.awt.*; class MyClass{} c) /*This is a comment */ package MyPackage; import java.awt.*; class MyClass{} 14、byte型的变量的表示范围为: a) -128 to 127 b) (-2 power 8 )-1 to 2 power 8 c) -255 to 256 d) 依赖Java虚拟机而定 15、在命令行运行命令:java myprog good morning 会有什么结果显示出来: public class myprog{ public static void main(String argv[]) { System.out.println(argv[2]) } } a) myprog b) good c) morning

(完整版)Java程序设计实验报告

Java 程序设计实验报告

实验一 JDK开发环境和结构化程序设计 实验学时:2 实验类型:综合性 一、实验目的 1.熟悉JDK开发环境。 2.熟悉UltraEdit/NotePad等编辑器编写、编译、运行Java程序。 3.掌握Java Application的程序结构和开发过程。 4.掌握Eclipse工具的使用。 5.结构化程序设计 二、实验内容 1.JDK开发环境 (1)J2sdk开发环境安装。假设JDK的安装路径为C:\JDK; (2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。如 SET PATH=C:\JDK\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%;d:\test_java (自己的工作目录) 2.UltraEdit/Notepad编辑器 练习使用Ultraedit/Notepad创建Java源程序的方法。

3.掌握Java Application程序开发过程 (1)编辑源程序,如下程序: import java.io.*; public class HelloWorld1{ public static void main(String arg[]){ System.out.println("Hello World!"); } } (2)保存文件,(注意大小写)。可将文件保存在“D:\test_java\”目录中,注意文件名为HelloWorld1.java。 (3)进入命令行(MS-DOS)方式,设定当前目录为“D:\test_java\”,运行Java 编译器: D:\test_java>javac HelloWorld1.java (4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 (5)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:\test_java>java HelloWorld1 4.Eclipse开发环境的使用 练习使用Eclipse实现第3步中Java HelloWorld程序的方法。

JAVA-课程设计(大作业)报告

课程设计(大作业)报告 课程名称:面向对象程序设计课程设计设计题目:设计一个记事本 院系:信息技术学院 班级: 设计者: 学号: 指导教师: 设计时间: 信息技术学院

昆明学院课程设计(大作业)任务书

简单记事本程序的设计 目录 一.题目分析 (5) 1.1需求分析 (5) 1.2功能要求设计 (5) 二.总体设计 (5) 2.1设计思路 (5) 2.2运行界面 (6) 2.3模块说明图 (6) 2.4主流程图 (7) 2.5 UML图 (7) 2.6程序相关说明 (8) 三.运行环境 (8) 四.详细设计与分析 (8) 4.1.初始化组件 (8) 4.2.构建菜单栏及其下拉菜单 (8) 4.3.“文件”菜单的事件监听 (9) 4.5.异常处理 (10) 五.调试分析 (12) 六.总结 (13) 七.参考文献 (14) 附录(源代码) (14)

一.题目分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有的能改变字体,有的能改变文字颜色。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。 1.2功能要求设计 设计一个记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找替换等功能,可扩展功能。本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 5)菜单中有“文件”,“编辑”,“关于”三个主菜单。 6)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文 件,退出记事本。 7)“编辑”中有“剪切”“复制”“粘贴”“颜色”四个子菜单:用于剪切文字,复制文字,粘贴文字 增加了“颜色”子菜单来对文字的颜色进行设置。 8)“关于”菜单中有关于记事本程序的制作日期,作者等信息,功能可自行增加。 提示:用图形用户界面实现,使用文件输入输出流。 二.总体设计 2.1设计思路 在本程序中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。

Java程序设计大作业实验报告

目录 一、前言 (2) 二、需求分析 (3) 三、系统总体设计 (3) 3.1系统总体设计系统思路 (3) 3.2数据库设计 (4) 3.2.1 login1表的设计和数据 (4) 3.2.2 student表的设计和数据 (5) 3.2.3 course表的设计和数据 (5) 3.2.4 score表的设计和数据 (6) 3.3系统功能模块设计 (6) 四、系统详细设计 (7) 4.1登录模块 (7) 4.2 学生模块 (7) 4.3 教师模块 (8) 4.4 管理员模块 (8) 五、系统测试及运行结果 (9) 5.1 主界面 (9) 5.2 学生管理中心界面 (9) 5.3 教师管理中心界面 (10) 5.4 管理员管理中心界面 (10) 5.5 查询课表界面 (11) 5.6 查询成绩界面 (11) 5.7 查询教学情况界面 (11) 5.8 查询所有学生成绩界面 (12) 5.9 学生信息管理界面 (12) 5.10 学生成绩管理界面 (13) 5.11 用户管理界面 (13) 六、实验总结 (14) 七、参考文献 (14)

一、前言 随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。 本学生信息管理系统主要采用的纯JAVA代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。

Java程序设计课程作业

Java程序设计课程作业 第一章绪论 1、安装Java SDK到你的电脑中。 2、选择安装一种Java开发工具到你的电脑中。Jcreater、NetBeans、Eclipse 3、编译并运行一个“Hello World”Java程序。 程序代码: // public class App2_1 { public static void main(String[]args) { System.out.println("hello Word"); } } 4、编译并运行一个Java Applet程序。 答:编译成功,不过浏览器不显示自己的Applet程序,还在学习中,错误的原因是自己电脑上java的安全设置的原因,修改后运行成功。 第二章Java语法基础 1、下列表达式是否有错?若有错,请说明何处出现何种错误;若无错,请给出其值。 (1) 3+4<<2^-8 没有错误,运行结果为-28 (2) 36>>2*4&48<<8/4+2 运行结果为0

有错误,||这个运算规律是两边均为boolean型 (4) 2*4&&0<2||4%2 有错误,||这个运算规律是两边均为boolean型 2、任意准备一份学生成绩表,其中包括至少3门课程、每门课程至少10名同学的成绩。请编写程序完成以下功能:(1) 统计并输出各门课程的平均成绩。(2) 输出等级表:优、良、中、及格及不及格。 import java.util.*; class student{ String num; doublemath; doubleenglish; doublechinese; } publicclass Test{ publicstaticvoid main(String[]agrs){ student stu[]=new student[11]; for(int i=0;i<10;i++) stu[i]=new student(); Scanner reader=new Scanner(System.in); System.out.println("请依次输入十个同学的数学,英语。语文的成绩:"); for(int i=0;i<=10;i++){ System.out.println("第"+(i+1)+"同学的数学,英语。语文的成绩:"); stu[i].math=reader.nextInt(); stu[i].english=reader.nextInt(); stu[i].chinese=reader.nextInt(); } double sum=0; for(int i=0;i<10;i++) sum=sum+stu[i].math; float A=(float)sum/10; System.out.println("数学平均成绩:"+A); //int sum;

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期:2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号:1212100231 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 1.6。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { System.out.println("Hello java! 欢迎使用!"); } } } 结果示意图1

设计模式大作业报告

《设计模式》课程大作业报告 姓名:陈明 专业:软件工程 班级:1202 日期:2015年5月29日

西安欧亚学院2014—2015学年第二学期考试试卷 专业:软件工程 课程:设计模式 年级:12级 完成一个综合项目程序,其中使用所学设计模式两个或者两个以上。要求在文档中首先给出项目程序完成的功能或者解决的问题,然后详细说明模式使用的具体情况,即角色和相应程序代码。文档赋分标准如下: 1、程序功能阐述明确,分析清楚。(15分) 2、使用两种设计模式,使用得当,并给出相应的角色及程序代码,程序代码有恰当的注释。(60分) 3、文档格式正确,排版清晰。(15分) 4、如果使用超过两种设计模式,并且使用正确。(10分) 说明:以上总分为个人的期末成绩,本课程个人总成绩=平时成绩*40%+期末成绩*60%。 号_____________ 班级___________ 姓名________ 考场号____ 座位号____ - - - - - - - - - - - - - - - - - - - - - - - 密 ○- - - - - - - - - - - - - - - - - - - - - - - - 封 ○ - - - - - - - - - - - - - - - - - -- - - - - - 线 ○ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

java实验报告(全)

学生学号0120910680526 实验课成绩 武汉理工大学 学生实验报告书 实验课程名称软件工具与环境 开课学院计算机科学与技术学院 指导老师姓名付国江 学生姓名 学生专业班级软件工程0905 2011— 2012学年第1学期

实验课程名称: java语言程序设计 实验项目名称JDK安装与配置、简单的程序编写实验成绩 实验者专业班级软件0905 组别 同组者实验日期年月日第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的: 熟悉JDK的安装、配置和使用,掌握Java Application程序的基本结构。 实验内容: (1)安装JDK,并练习设置JAVA_HOME、path和classpath环境变量; (2)编写一个打印出”HelloWorld”的Java Application程序,并编译运行; 二、实验基本原理与设计(包括实验方案设计,实验手段的确定,试验步骤等,用硬件逻辑或 者算法描述) (1)jdk的安装 (2)”HelloWorld”的编译运行 三、主要仪器设备及耗材 个人计算机,jdk 第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)jdk的安装步骤: 1:双击jdk-6u10-windows-i586.exe安装文件 2:点击接受 3:点击下一步 4:选择JRE路径 5:点击下一步 6:完成 配置环境变量: 1:右键我的电脑,找到属性,高级中的环境变量 2:点击环境变量:3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 3:系统变量针对所有用户,这里找到系统变量中的Path 点击编辑: 4:在变量值末尾打上分号分隔,加入JDK库路径。 点击确定,完成! 5:变量配置好后。 6:测试环境是否好 在控制台中 输入javac指令,能显示参数,说明成功。

《JAVA WEB程序设计》报告模板

南京晓庄学院《JAVA WEB程序设计》 课程报告 题目: 学生信息管理系统 姓名: 沈莉莉 学号: 13131320 班级: 13计算机转本1班 完成时间2016年6月23号 成绩: 数学与信息技术学院

目录 1.系统需求分析 (1) 2.相关技术与原理介绍 (1) 3.系统分析与设计 (2) 3.1 系统功能分析 (2) 3.2 系统结构分析 (2) 3.3 数据库设计 (3) 4.系统实现 (4) 4.1 登录模块实现 (4) 4.2 教师模块实现 (6) 4.3 成绩模块实现 (7) 4.4 学生模块实现 (8) 5.总结与体会 (11) 5.1 工作总结 (11) 5.2 改进设想 (11)

1.系统需求分析 (对系统的功能需求进行分析) 在本次的实验中主要用到了Eclipse、Mysql、Tomcat等软件。用JSP和JAVABEAN 编写代码,编写完的低吗主要用来实现教师、学生、成绩以及课程的查询、修改、删除等操作。 2.相关技术与原理介绍 (对Tomcat、MySQL、JSP、JDBC、JAVABEAN等技术进行简要介绍) 2.1、Tomcat简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问童虎不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,当一台机器上配置好Apache服务器,可利用它响应HTML(标通用标记语言下的一个应用)页面访问的请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你圆形tomcat时,它实际上是作为一个与Apache独立的进程单独运行。 2.2、MySQL的简介 MySQL是一个小型关系数据库管理系统,它的主要特性如下: (1)支持多线程,充分利用CPU资源。 (2)一共TCP/IP、ODBC和JDBC等多种数据库连接途径。 (3)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2.3、JSP的简介 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2.4、JDBC的简介 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。

java语言程序设计作业答案

Java语言程序设计(郑莉) 第二章习题答案 1.什么是对象、类,它们之间的联系? 答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。 2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象! 3)两者的关系:对象是类的具体实例.。 4.请解释类属性、实例属性及其区别。 答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。 5.请解释类方法、实例属性及其区别。 答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。 类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。 区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法; 6.类的访问控制符有哪几种?具体含义及其区别。 答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。 区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。 7类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用? 答: 类成员的访问控制符有public,private,protecte及无修饰符. public(公有的):用public修饰的成分表示公有的,也就是它可以被其他任何对象访问(前提是对累成员所在的类访问有访问权限). P rivate(保护的):类中限定为private的成员只能被这个类本身访问,在类外不可见。proteced(保护的)用该关键字修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。 无修饰符(默认的):public,private,protected这个三个限定符不是必须写的。如果不写,则表明是“friendly”,相应的成分可以被所在保重的各类访问。 8简述构造方法的特点? 答: 构造方法主要有以下特点: (1)构造方法的方法名与类名相同; (2)构造方法没有返回类型(修饰符void也不能有); (3)构造方法通常被声明为公有的(public);

JAVA聊天室实验报告

JA V A聊天室实验报告 姓名:马琳越 班级:131114 学号:13111368 日期:2014年4月23日

目录 目录 (2) JA V A程序课程设计任务书 (3) 摘要 (4) 第1章引言 (5) 第2章聊天室系统的设计 (7) 第3章界面设计 (11) 第4章总结 .................................................................................. 错误!未定义书签。

Java聊天室的设计任务书 1.主要内容 用JA V A实现基于C/S模式的聊天室系统。聊天室分为服务器端和客户端部分,服务器端程序主要负责侦听客户端发来的信息,客户端需要登陆到服务器端才可以实现正常的聊天功能。 2.具体要求 A.服务器端主要功能 (1).在特定端口上进行侦听,等待客户端连接。 (2).用户可以配置服务器端的侦听端口,默认端口为8888。 (3).向已经连接到服务器端的用户发送系统消息。 B. 客户端主要功能 (1).连接到已经开启聊天服务的服务器端。 (2).用户可以配置要连接的服务器端的IP地址和端口号。 (3).用户可以配置连接后显示的用户名。 (4).用户可以向所有人或某一个人发送消息。 3.主要参考文献及运用工具 (1)Bruce Eckel 著Thinking in Java ,李刚著疯狂Java讲义 (2)使用技术:Java 使用开发工具:Eclipse

摘要 在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,例如,国外的ICQ、国内腾讯公司开发的OICQ。基于Java网络编程的强大功能,本次大作业要求使用Java编写一个聊天系统。 一般来说,聊天工具大多数由客户端程序和服务器程序外加服务器端用于存放客户数据的数据库组成,但是,由于自己数据库知识的部分遗忘,本程序未连接数据库,采用客户机/服务器架构模式,通过Java提供的Soket类来连接客户机和服务器并使客户机和服务器之间相互通信。 本系统建立在JAVA平台上,系统的设计使用了面向对象技术和面向对象的设计原则。系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息。使用JAVA语言编写,开发工具采用Eclipse。服务器端设计与实现过程中,采用了多线程技术,可以在单个程序当中同时运行多个不同的线程,执行不同的任务。大大增强了程序对服务器资源的利用。 聊天系统完成后将可进行多人对多人的聊天,对好友进行添加、删除,对新用户的注册,发送消息、接受消息等等功能。

java拼图游戏设计报告

《Web程序开发》课程 大作业 拼图游戏 3011212046 张杰 2014.11

一、题目说明 拼图游戏不仅可以帮助人们打发时间,还可以用于锻炼儿童脑力,帮助少儿开发大脑思维,拼图游戏结合了许多元素,可以图片切割,游戏拼图,游戏成功时和打破记录时的判断,同时还有游戏时间和步数的记录,并以文档形式进行保存。在拼图时首先把图片添加到background目录下,程序会自动获取该目录下的所有文件,并加载到游戏中,进行切割后,显示在拼图按钮上。 本游戏使用Java语言设计,开发平台为JDK。开发工具Eclipse。JDK是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。 二、题意分析 因为要制作拼图游戏,所以首先要实现图片的导入。这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this) 和addMouseMotionListener(this)来完成的。这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。 游戏操作流程: 开始游戏 操作游戏 游戏完成

相关主题
文本预览
相关文档 最新文档