java经典案例

java经典案例
java经典案例

1.1.经典案例

?案例1:完成一个Java中间件软件包的开发、打包、发布和使用?定义

完成一个Java中间件软件包的开发、打包、发布和使用,要求学员按照以下步骤完成一个Java中间件产品的开发,打包,发布和使用的完整过程:

1,首先在工作目录下建立module1子目录,在该目录下创建Model.java类,并声明包:com.tarena.middle 。

2,使用java –d 命令编译以上程序,检查编译后的目录结构。

3,使用jar命令将编译完成的字节码文件打包。

4,修改CLASSPATH,让其指向上一步中所创建的jar文件。

5,重新写一个类Test.java,(Test类与Model类不在同一个包下)在该类的main方法中使用Model类。

?说明

1,该案例主要考察以下知识点:编译Java程序,Java程序的包声明,jar命令的使用,CLASSPATH的设置,import的使用等。

2,教师可以在课堂上完整演示本案例,并要求学员在课后独立完成本案例。

3,该案例难度系数:设计级

?案例2:华氏温度与摄氏温度转换

?定义

华氏温度与摄氏温度转换,编写一个程序,将华氏温度转换成摄氏温度或将摄氏温度转化成华氏温度。

要求程序运行时从控制台读入温度值及单位,并输出另一种温度值及单位,例如:若用户输入27 C则程序输出81 F;若用户输入96 F,则程序输出36 C(其中C代表摄氏温度,F代表华氏温度),华氏温度与摄氏温度转化的公式为:

C = 5 (F - 32) / 9

F = 9 C / 5 + 32

要求输入的温度值是整数,输出的温度值也是四舍五入后的整数。

?说明

1,该习题主要考察知识点:变量的定义,控制台输入,算术运算。

2,教师应该讲解怎样使用Scanner做控制台数据的读入,并将此段代码发布给学员。

3,教师应该讲解对double值四舍五入的方法。

4,要求学员能使用Scanner从控制台读取整数,字符串,double等类型的数据。

5,该案例难度系数:程序级

?说明:

1,该习题主要考察的知识点:控制台输入和复杂的选择流程控制。

2,计算个人所得税时要注意,应纳税所得额要分段计算,即:若某人的本月应纳税所得额为:7800.00元,则其中有500.00元适用税率5%;有1500.00元适用税率10%;有3000.00元适用税率15%;有2800.00元适用税率20%。则该员工应纳税:500×5%+1500×10%+3000×15%+2800×20%=1185.00元

3,该案例难度系数:程序级

?案例4:百分制分数和等级制分数的转换

?定义

百分制分数与等级制分数的转换,编写程序,将一个百分制分数转化为等级制分数并输出出来,转化规则如下:

90分以上 A

80分~89分 B

70分~79分 C

60分~69分 D

60分以下 E

要求百分制分数从控制台读入,并在程序中判断读入的分数值是否有效。转化后得到的等级制分数输出在控制台。

?说明:

1,该习题主要考察知识点:控制台输入,多路分支选择结构(switch—case)。

2,教师应启发学生如何设计switch-case

3,该案例难度系数:程序级

?案例5:猜数字游戏

?定义

编写程序,实现控制台的猜数字游戏。游戏运行时产生一个0-1000之间的随机整数,要求用户从控制台输入数字,若输入的数字比产生的数字小,则输出:“太小了,再大一点!”;若输入的数字比产生的数字大,则输出:“太大了,再小一点!”,若输入的数字和产生的数字相等,则输出:“恭喜你猜对了!”然后退出程序;若用户猜了10次还未猜对,则输出:“你太笨了,下次再来吧!”然后退出程序。

?说明:

1,该案例主要考察的知识点:循环控制,控制台输入和输出,随机数的生成。

2,教师应该讲解随机数产生的方法,并将该代码发布给学员。

3,该案例难度系数:设计级

?案例6:九九乘法表的输出

?定义

要求编写程序,在控制台输出九九乘法表,如下图所示:

1×1=1

1×2=2 2×2=4

1×3=3 2×3=6 3×3=9

1×4=4 2×4=8 3×4=12 4×4=16

……

?说明:

1,该案例主要考察使用两层循环的嵌套来进行复杂的循环流程的控制。

2,该案例可以作为教学案例,也可以要求学生当作课堂练习完成。

3,该案例难度系数:程序级

?案例7:输出唐诗

?定义

用二维数组保存一首唐诗(五言或七言),每一行代表一句,保存格式如下:

剑外忽传收蓟北

初闻涕泪满衣裳

却看妻子愁何在

漫卷诗书喜欲狂

白日放歌须纵酒

青春作伴好还乡

即从巴峡穿巫峡

便下襄阳向洛阳

要求将这首唐诗按照古文的方式输出出来(从右至左,竖行排列),输出格式如下:

便即青白漫却初剑

下从春日卷看闻外

襄巴作放诗妻涕忽

阳峡伴歌书子泪传

向穿好须喜愁满收

洛巫还纵欲何衣蓟

阳峡乡酒狂在裳北

?说明:

1,该案例主要考察的知识点:二维数组的访问和元素的操作。

2,教师可以画图分析将唐诗按照古文的方式输出时数组元素下标的变换规则。3,该案例难度系数:设计级

?案例8:酒店前台客房管理程序

?定义

某酒店有10层楼,每层楼有12个房间,要求为该酒店设计一套简单的前台房间管理程序,该程序可以通过在命令行输入命令来为客人办理入住和退房手续。要求该程序支持通过命令行输入以下命令来进行入住,退房及查询的操作:

search :查询所有房间的状态

in 1202 tangliang :姓名为tangliang的客人入住1202房间

out 1202:1202房间退房

quit:退出程序

?说明

1,该案例主要考察知识点:数组的定义和遍历,两层循环来遍历二维数组。

2,教师可以将程序框架搭建起来,让学员实现其中的部分代码。

3,在本例中要求所有程序代码都写在main方法中。

4,该案例难度系数:架构级

代码:

?案例9:用数组解决约瑟夫环问题

?定义

用数组实现约瑟夫出圈问题。n个人排成一圈,从第一个人开始报数,从1开始报,报到m的人出圈,剩下的人继续开始从1报数,直到所有的人都出圈为止。对于给定的n,m,编写程序求出所有人的出圈顺序。

?说明:

1,该案例主要考察的知识点:数组的使用和数组元素的操作

2,教师应该详细讲解约瑟夫环的问题模型,以及如何用数组来模拟约瑟夫环的算法。

3,该案例难度系数:设计级

?案例10:数组排序

?定义

介绍常用的数组排序方法:冒泡排序或选择排序,让学员至少掌握一种数组排序的方法。

?说明:

1,该案例让学员至少掌握一种数组排序的算法,对各种排序算法的优劣性有一定了解。2,讲师讲解各种排序算法的原理,让学员自己实现其中至少一种排序方法的代码。

3,该案例难度系数:程序级

?案例11:用模块化的设计重构以前的案例(方法的定义和调用)?定义

?

1

2

3

?

1

int

如果雷是-1。则continue,进行下一次循环,重新查找随机数

2,计算每个位置周围的地雷数

以上一模块产生的随机地雷分布的二维数组为数据来源,计算该二维数组中不是地雷的位置周围的8个位置总共有多少个地雷,将这一数字存储在该位置,产生如下二维数组:

循环访问2为数组,依次拿到2为数组里的数,如果元素为-1,continue,如果元素不是-1,计算该位置周围的8个位置有多少个-1;

左上i-1,j-1

左中i-1.j

左右i-1;j+1

左二1: i,j-1 左二2: ij 左三:i,j+1

3,输出布雷面板:

我们要编写程序完成布雷面板的控制台输出,为了区分布雷面板中哪些位置是已经被用户排开的,哪些位置是未被排开的,我们对以上二维数组的数据定义作如下约定:若该位置保存的数字是n,则n满足如下条件:

1)若0<=n<=8,则表示该位置不是地雷,其周围位置的地雷数就是n,且该位置未被用户排开。

2)若10<=n<=18,则表示该位置不是地雷,其周围位置的地雷数就是n%10,且该位置已经被用户排开。

3)若n==-1,则表示该位置是地雷,并且未被用户标记。

4,用户排雷程序模块

完成以上两个模块后,用户可以完成排雷的操作,我们要编写一个程序来支持用户通过控制台来排除地雷,用户可以在控制台输入坐标位置,来表示排除该位置是地雷。当用户输入坐标位置后,程序需要执行如下操作:

1)若该坐标位置是地雷(值为-1),则,程序结束,用户排雷失败。

2)若该坐标位置存储的数字是大于0小于等于8的整数(该位置不是地雷,该位置周围地雷数等于该数字,该位置未被用户排开),则将该位置排开(并将该位置的数字+10,表示该位置已经排开),然后重新输出一遍布雷面板。

3)若该坐标位置存储的数字是大于等于10小于等于18的整数(该位置不是地雷,该位置已经被排开),则输出错误信息,请用户重新输入。

4)若该坐标位置存储的数字等于0(该位置不是地雷,该位置周围的8个位置也没有地雷,该位置还未被用户排开),则找该位置的周围8个位置,将其排开,排开时递归的执行排雷程序模块的操作。

说明:

1,该案例可分为四个子案例单独讲解,或作为课堂练习或课后作业让学员完成。

2,其中前三个模块比较简单,要求大多数学员都能独立完成,最后一个模块比较复杂,需要设计方法的递归调用,有基础的学员可以在教师和项目经理的指导下完成。

3,该案例考察了以下知识点:数组的操作,复杂流程的控制,方法的递归调用等。

4,该案例难度系数:架构级

?案例13:五子棋游戏v1.0(控制台版本)

?定义

编写程序实现两人互玩的五子棋游戏,游戏开始时要求在控制台输出以下棋盘,然后提示黑方和白方下子,玩家从命令行输入落子坐标,如:a f,表示在a,f坐标落子,其中黑方的子用@表示,白方的子用O表示,空白位置用*表示,每有一方落子,则要重新输出棋盘的状态,程序还要能判断某一方获胜,并终止游戏。

棋盘初始状态:

0 1 2 3 4 5 6 7 8 9 a b c d e f

0 * * * * * * * * * * * * * * * *

1 * * * * * * * * * * * * * * * *

2 * * * * * * * * * * * * * * * *

3 * * * * * * * * * * * * * * * *

4 * * * * * * * * * * * * * * * *

5 * * * * * * * * * * * * * * * *

6 * * * * * * * * * * * * * * * *

7 * * * * * * * * * * * * * * * *

8 * * * * * * * * * * * * * * * *

9 * * * * * * * * * * * * * * * *

a * * * * * * * * * * * * * * * *

b * * * * * * * * * * * * * * * *

c * * * * * * * * * * * * * * * *

d * * * * * * * * * * * * * * * *

e * * * * * * * * * * * * * * * *

f * * * * * * * * * * * * * * * *

1 定义一个字符型的二维数组定义棋盘状态,[16][16],赋初始值,,每个位置*号

输出来

2 读取用户输入,根据黑方坐标把数组中3行6列拿出来看一下,如果是黑色的就落下,如果该位置没有*号,就提示用户该位置有棋子

3 判断每落下一个棋子,程序有没有获胜,如果没有获胜提示白方落子或黑子罗子

4如果5子排列就获胜

说明

1,该案例主要考察的知识点:复杂循环的控制,数组的应用,流程控制解决复杂问题。2,教师可以讲解如何判断某一方获胜的算法。

3,讲师可以将整个程序分模块,将每个模块的方法定义好,由学员来实现。

4,该案例难度系数:架构级

?案例14:类的抽象—栈

?定义

栈是一种常用的数据结构,其特点是存储数据时“先进后出”。写一个类用来模拟栈这种数据结构,要求底层使用数组存储数据,并给出相应的进栈和出栈的方法。还要求定义一个测试类,包含主方法,在主方法中测试栈的定义是否正确(生成栈对象,调用栈的方法)。

?说明

1,该案例主要考察学员抽象数据类型的能力。

2,教师可以启发学生思考,抽象数据类型时如何抽象属性和方法,如何将属性和方法的定义细化。

3,该案例难度系数:设计级

?案例15:类的抽象—人类

?定义

写一个类Person,包含以下属性:String name; int age; boolean gender;Person partner。为Person 类写一个marry(Person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在本类中写一个主方法,来测试以上程序(生成两个Person 对象,并调用它们的marry方法)。

下列情况不能结婚:1,同性;2,未达到结婚年龄,男<22,女<20;3,某一方已婚

?说明

1,该案例主要考察类的自关联的定义和使用。

2,该案例还可做如下扩展:将int age的定义改为Calendar birthday的定义,要求学员使用Calendar操作日期数据。

3,教师可以借助该案例讲解java.util.Calendar和java.util. GregorianCalendar的使用,让学员熟悉日期数据的处理方法。

4,该案例难度系数:设计级

?案例16:酒店前台客房管理程序v2.0(面向对象实现)

?定义

将以前写的酒店房间管理程序按照面向对象的方式重新设计,抽象出以下类:

酒店类:

属性:酒店名称;酒店所有房间的数组。

方法:查询房间状态boolean isEmpty(int roomNumber);

入住boolean checkIn(int rid,String gName),退房boolean checkOut(int rid);

开始运行void start();

?说明:

1,该案例考察学员面向对象的抽象能力。

2,教师可以指导学员搭建好程序的代码框架,让学员完成方法。

3,该案例难度系数:设计级

?案例17:继承关系的设计和实现

?定义

考虑一个具有各种图形类的图形系统,这些图形包括长方形、正方形、三角形、圆形等。例如,长方形可以有长、宽、中心点等数据,而正方形和圆形可能只有一个中心点和一个边长或半径。在一个精心设计的图形系统中,这些类应派生于一个公共的类(即Figure类)。现要求实现这样一个系统。

Figure类是父类。定义从Figure类继承的Rectangle和Triangle类。每个类都有erase和draw方法。draw方法将该图形在控制台输出出来,而erase方法则擦除这些图形(只需清屏,通过输出空行,或者通过执行更复杂的动作)。

?说明:

1,该案例主要考察的知识点:继承关系的定义,方法的覆盖。

2,该案例难度系数:程序级

?案例18:接口的应用—DAO模式

?定义

我们要开发一套通用的网站用户管理程序,该程序主要包含用户注册和用户登录等基本功能。用户的注册数据可能会存储在不同的介质中(文件或数据库)。为了让业务程序访问数据时不需要去关注数据的存储介质,我们需要在程序中抽象一个对数据访问的接口,该接口中给出了业务程序可能对数据访问的所有方法的定义。然后分别写出该接口的两个实现类,从文件和数据库中访问数据。以我们现在所学的知识,我们暂时还无法去实现这两个类,但我们可以在相应的方法中输出语句来模拟一个实现。即便这样,我们还是可以定义一个可以真正实现的类,该类从数据访问用户的注册数据。

定义DAO接口,定义2个类,查询和添加方法然后调用该接口中的类

?说明:

1,该案例描述接口的意义,和使用接口降低耦合。

2,教师可以带领学员完成该案例,并讲解使用接口给整个程序结构带来的好处。

3,该案例难度系数:架构级

?案例19:字符串的应用—字符串解析

?定义

Unix机器中用9个字符来表示文件的访问权限,其中前三位表示文件拥有者对文件的权限,中间三位表示同组者对文件的权限,最后三位表示其他人对文件的权限,而每一类不同的角色对文件的权限又分为读(r),写(w)和执行(x)三种权限,如:“rw-r--r--”则表示拥有者具有读和写的权限,同组者和其他人只有读的权限。同时,我们也可以对权限种类进行编码,如:读=4,写=2,执行=1,这样文件的权限也可以用三位八进制数字来表示,例如:“644”就等价于“rw-r--r--”。现在要求编写程序将给定的文件权限字符串转换为8进制的编码值,或者将8进制编码值转化为文件权限字符串。

?说明:

1,该案例考察的知识点:字符串的操作,进制的转换,Integer和String的转化等。

2,教师可以带领学员完成从字符串到8进制数字的转化程序,要求学员自己完成逆向的转化程序。

3,该案例难度系数:设计级

?案例20:模拟ArrayList的实现—MyArrayList类

?定义

自己写一个MyArrayList类,实现java.util.ArrayList类的核心功能,要求底层使用数组存储数据,能实现自动扩容,能使用Iterator遍历,实现List接口的常用方法。

?说明

1,该案例主要考察学员对ArrayList实现原理的掌握,进一步加深面向对象的抽象思想,熟练掌握数组操作。

2,教师可以写出该类的代码框架,让学员实现其中的重要方法。

3,该案例的重点和难点在于add方法中实现数组自动扩容和iterator方法中实现并得到迭代器。

4,该案例难度系数:程序级/设计级

?案例21:模拟LinkedList类的实现—MyLinkedList类

?定义

自己写一个MyLinkedList类,实现java.util.LinkedList类的核心功能,要求底层使用链表存储数据,能实现自动扩容,能使用Iterator遍历,实现List接口的常用方法。

?说明:

1,该案例主要考察学员对链表的实现原理的掌握,进一步加深面向对象的抽象思想,熟练掌握链表的定义和操作。

2,教师可以写出该类的代码框架,让学员实现其中的重要方法。

3,教师应该讲解Java实现链表的基本方法。

4,该案例难度系数:程序级/设计级

?案例22:反射实现类的动态加载

?定义

编写如下格式的配置文件,然后根据配置文件的参数加载类,生成实例,设置属性的值,并调用方法,在该案例中假定类一定有无参构造方法,假定属性类型是String,假定方法都是无参的。

CLASS_NAME=tts.cookbook.key22.Student

FIELD_NAME=name

FIELD_V ALUE=zhangsan

METHOD_NAME=study

?说明

1,该案例主要考察学员对反射的理解,使用反射进行类的动态加载。

2,教师应该讲解使用Properties装载配置文件的方法,并将该段代码发布给学员。此时并不需要学员理解文件访问的方法。

3,教师可以引导学员思考一下如果没有题目所给的那些假设,如果要访问的属性和方法不止一个,那用Properties格式的配置文件就不能很好的描述了,这时需要一种有层次感能自我说明的数据描述格式—XML。

4,该案例难度系数:架构级

?案例23:简易计算器的界面设计及实现

?定义

使用AWT和Swing设计简单的计算器界面,并实现基本的运算功能,如下图所示:

?说明:

1,该案例主要考察学员对基本图形组件和布局管理器的使用。

2,教师可以讲解多层布局设计的原理和基本方法。

3,教师可以讲解实现运算的基本算法。

4,该案例难度系数:程序级

?案例24:简易记事本程序的界面设计

?定义

使用AWT和Swing设计一个类似于windows记事本的程序界面,要求使用菜单。

?说明:

1,该案例主要考察学员对基本图形组件,布局管理器和程序菜单的设计和使用。

2,教师可以讲解多层布局设计的原理和基本方法。

3,教师可以讲解JFileChooser和JColorChooser的使用。

4,该案例难度系数:程序级/设计级

?案例25:图形编程中的事件处理案例

?定义

要求为MouseListener,MouseMotionListener,ItemListener,ChangeListener,WindowListener 写一些实际案例来说明其用法。

1,要求写一个案例,捕捉鼠标在面板上的活动,每当鼠标指针移动时在面板下方动态输出鼠标当前坐标位置。若用户在面板上点击鼠标,也要输出鼠标的哪个键被点击,以及点

击点的坐标。

2,要求写一个案例,在面板上包含两个下拉列表,省份和城市,要求用户改变省份列表项时,城市的内容同步改变为当前省份的城市。

3,要求写一个案例,使用三个JSlider分别选取R,G,B三原色的值,用户可以通过活动JSlider 的滑块来动态的合成一种颜色,合成的颜色动态显示在界面上。

4,要求写一个案例,显示一个窗体,当用户关闭窗体时弹出对话框询问是否确认关闭。

?说明:

1,该案例主要考察学员对图形编程的事件处理方式的理解。

2,该案例的主要目的是让学员通过这些案例充实案例库。

3,教师可以讲解某些常用组件及事件的处理方法。

4,该案例难度系数:设计级

?案例26:使用Java多线程实现倒计时牌

?定义

开发一个图形界面的倒计时牌程序,程序通过预先输入的目标时间,动态显示当前时间离目标时间相差的天数,小时数,分钟数和秒数,每秒刷新一次。

?说明

1,该案例主要考察java多线程程序的设计基本方法。

2,教师应该讲解日期数据的处理方式。

3,教师可以讲解实现每秒刷新一次的方法。

4,该案例难度系数:程序级

?案例27:文件拷贝和加密的实现

?定义

编写程序,实现简单的文件加密/解密器。要求在界面中选择文件(使用JFileChooser),并指定加密算子(0~255之间的整数),然后完成对任意文件的加密和解密。加密过程要求采用两种不同模式实现:

(1)覆盖原文件。(使用RandomAccessFile来完成)

(2)生成新的加密文件。(使用FileInputStream和FileOutputStream来完成)

这两种模式可在界面中选择。

对文件的加密规则:将原文件中每个字节与加密算子做异或运算,得到的值做为加密后的文件相应字节上的值。(解密时规则一样)。

?说明:

1,该案例考察的知识点:文件的访问,RandomAccessFile。

2,教师可以讲解使用FileInputStream和FileOutputStream方式的实现,让学员完成使用RandomAccessFile方式的实现。

3,该案例的难度系数:程序级

?案例28:简易记事本程序的实现

?定义

编写程序实现类似windows记事本的功能,可以使用案例24所做的图形界面,并实现打开文件,保存文件,等基本功能,要求保存文件和打开文件时可以选择不同的字符编码,还要求在打开文件和保存文件时使用使用案例27所实现的文件加密程序对文件加密和解密,使得其他的文字处理软件不能打开本文件。

?说明

1,该案例考察的知识点:文本文件的处理,字符编码。

2,教师可以讲解字符编码的概念,演示不同字符编码存储的文件的区别。

3,教师可以讲解不同字符编码的转化方式。

4,该案例的难度系数:设计级

?案例29:简易Web服务程序

?定义

开发一个简易的web服务程序,程序运行时向客户端写出当前服务器系统时间和客户端的IP地址,以及客户端是第几位访问者。客户端直接使用浏览器访问。

?说明:

1,教师简单介绍html标签的语法。

2,教师可以引导学员思考:建立web服务的很多工作都是机械化的与业务无关的,所以可以封装在某个类里面完成,程序员只需要定义与业务相关的代码,这样封装好的类就是servlet类。

3,该案例的难度系数:设计级

?案例30:广播式聊天室程序的实现

?定义

要求开发一个广播式的多人在线聊天程序,要求客户端有简单界面。

?说明

1,该案例主要考察的知识点:java的网络编程,服务器端多线程程序的设计,I/O流的操作和包装。

2,教师可以带领学员搭建整个程序的基本框架,让学员实现其中部分关键代码。

3,该案例难度系数:架构级

Java课程设计报告—蜘蛛纸牌

面向对象程序设计课程设计报告JA V A程序设计 课程设计 之 蜘蛛纸牌 学院: 年级: 班级: 指导老师: 小组成员: 时间:

课程设计题目JAVA课程设计——蜘蛛纸牌 学院计算机学院专业网络工程年级2009 已知参数和设计要求: 蜘蛛纸牌的主要功能模块包括:a、游戏界面的布局以及纸牌的设定;b、能够设定不同等级以实现游戏难易度的不同;c、实现游戏主功能;d、实现帮助功能; e、实现退出功能。 要求以小组为单位,用JAVA实现蜘蛛纸牌的主要功能模块;可以根据自己对蜘蛛纸牌游戏的理解,对实现的内容进行扩展最后需要提供的材料包括课程设计报告1份,程序拷贝1份(包括源代码和可执行程序)。 学生应完成的工作: 根据JAVA程序设计的思想和编程技术,设计实现蜘蛛纸牌游戏。上机调试并能正确运行,并提交完整的设计报告和软件程序拷贝。 目前资料收集情况(含指定参考资料): 《Java程序设计》,朱庆生,古平等著,清华大学出版社,2011,1 《Java编程》,王伟平等著,清华大学出版社,2010,5 《Java课程设计案例精编》黄晓东编著,中国水利水电出版社出版 《Java程序设计实用教程》张永常主编,电子工业出版社出版 课程设计时间为一周,从15周星期一开始(2011年12月12日),到15周星期五结束(2011年12月16日)。课程设计以组为单位进行。每组3~4个人。 星期一进行蜘蛛纸牌游戏的内容和规则设计。 星期二查找资料解决具体的技术问题。 星期三用JAVA语言实现程序。 星期四精星课堂演示程序以及完成课程设计报告。 星期五提交程序和课程设计报告。 本组由组成 任务下达日期年月日完成日期年月日 指导教师(签名)学生(签名)

车辆管理信息系统Java课程设计

合肥学院 计算机科学与技术系 课程设计任务书 2011~2012学年第一学期 课程JAVA语言课程设计 课程设计名称车辆管理信息系统 专业班级 指导教师 2011年9月

一、需求分析 车辆管理信息系统这一软件的设计主要是针对我们日常生活中车辆以及与车辆相关的信息的管理与查询和修改。本软件所要做的就是对与车辆有关的信息包括司机信息的管理、车辆信息的管理、运营信息的管理、车辆维修信息的管理、事故信息的管理。 软件在功能上需实现: 1-1功能分析图 1)有关司机信息的管理,有信息的新增,修改及查询功能。司机基本信 息包括的数据项有:司机姓名、司机性别、出生日期、家庭住址、初 次领证时间、执照号码、准驾车型、有效期起始时间、有效期结束时 间等等。

2)车辆信息的管理,有信息的新增,查询及修改功能。车辆基本信息包括的数据项有:车号、类型、车主、发动机号、车驾号、厂牌型号、车辆总质量、核定载客、登记时间、发证时间、颜色、主要司机等等。 3)运营信息的管理,有输录,查询与修改功能。运营信息包括的数据项有:车号、司机姓名、运营开始时间、运营结束时间、运营公里、耗油量等等。 4)车辆维修信息的管理,有输入,查询及修改功能。车辆维修信息包括的数据项有:车牌号、维修时间、维修单位、维修内容、维修费用、配件、备注等等。

5)事故信息的管理,有输入,查询功能。事故信息包括的数据项有:车牌号、司机姓名、事故时间、事故地点、事故原因、对方车号、对方单位、处理方式、处理金额、备注等 二、设计 1-2功能设计图 1.功能设计 本软件的要求的功能为: 1)有关司机各种信息的新增,修改及查询。 2)车辆信息的新增,查询及修改。 3)运营信息的输录,查询与修改。 4)车辆维修信息的输入,查询及修改。 5)事故信息的输入,查询。 编写软件对以上的功能有着较好的实现。除此之外我们还增加了用户登录和帮助模块,必须在登录状态下才可以进行操作,用来解决对信息的保护等相关方面的问题,帮助模块主要提示程序的功能。在其他的附加功能方面提供了在软件运行的同时显示了当前的时间。 2. 数据库设计

网站规划与设计教学大纲

《网站规划与设计》课程教学大纲 一课程说明 1.课程基本情况 课程名称:网站规划与设计 英文名称:Planning and Design of Website 课程编号:2413243 开课专业:计算机科学与技术 开课学期:5 学分/周学时:3/3 课程类型:专业选修 2.课程性质(本课程在该专业的地位作用) 有一定的编程基础、HTML语言基础、Java语言基础、静态网页设计工具使用基础和SQL数据库基础。 JSP是基于Java的动态网站开发技术,具有跨平台、安全、高效、面向Internet 的特点。随着J2EE技术作为电子商务/政务的最佳解决方案的推广,JSP成为动态网站开发的主流技术。通过本课程模块的学习,学生应掌握JSP的运行环境和开发环境的搭建、JSP的基本语法、JSP的内置对象、JavaBean和Java Servlet 技术、JDBC数据访问技术、JSP高级开发技术、JSP开发中的常用技巧等,并能应用这些基础知识和基本技能开发简单的JSP站点。 3.本课程的教学目的和任务 (1)目的 了解开发网站的意义和作用,掌握网站规划和设计的过程和方法。让同学利用工具软件搭建一个WWW服务器,并规划开发一个小型动态网站。 (2)任务 理论方面: 采用基于案例的应用导向、任务驱动的教学方法,围绕一个完整的网站展开。融“讲”、“学”、“做”、“练”四者于一体。为了方便读者阅读和上机操作,大部分

案例分为“案例展示”、“学习目标”、“知识要点”、“案例实现”和“案例说明”等部分进行讲解。 实践方面: 建站的准备工作、网站规划设计、网页设计、网页制作基础、CSS样式的应用、网页编辑工具Dreamweaver CS、设计Web页面布局、动态网站开发技术。 了解JSP的特点、技术原理,掌握JSP运行环境和开发平台的安装和配置理解Tomcat的结构和工作原理,熟练掌握Tomcat的配置;熟练掌握Eclipse 及其插件的安装、配置和具体应用 熟练掌握JSP的基本语法,包括JSP文件的基本构成、JSP指令元素、JSP 脚本元素、JSP动作元素 理解JSP内置对象的功能,熟练掌握JSP内置对象的常用方法 理解JavaBean的概念、优点,掌握JavaBean的创建及具体使用 理解Servlet的概念,掌握Servlet的编写和部署应用 了解JDBC数据库访问技术,掌握JSP、Servlet、JavaBean中数据库的连接和操作 了解自定义标签、标准标签库、表达式语言和Struts框架开发等前沿技术掌握JSP开发中的最常用的技巧:Java的中文问题、JSP和Servlet之间参数的传递、数据分页技术、JSP中上传文件以及JSP/Servlet过滤器技术了解网站的规划和整体设计,能够应用JSP的基础知识和基本技能开发简单的JSP站点。 4.本课程与相关课程的关系、教材体系特点及具体要求 《高等数学》、《C语言高级程序设计》、《Java语言程序设计》、《离散数学》、《概率与数理统计》、《数据结构》等课程在“应用软件开发”中的具体应用。 5.教学时数及课时分配

java实验报告完整版

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

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

JAVA教案实例

《Java语言基础》教学大纲 课程编号:0433315 课程名称:Java程序设计 参考学时:64 上机学时:32 先修课程:C程序设计语言 一、说明部分 1.课程性质 Java语言程序设计课程是计算机专业课程,它综合了程序设计、面向对象、网络、多媒体等的实际应用,更增添了基于Internet的软件开发,使其成为高年级学生的一门经典实用的课程。 2.教学目标及意义 通过本课程的学习,掌握面向对象的Java程序设计语言,学会面向对象程序设计的方法,使学生进一步掌握所学的面向对象技术完整系统开发的方法。掌握本课程的基本内容将有利于学生提高和培养其灵活运用所掌握的Java语言的综合应用能力解决实际工程问题的能力。 3.教学内容与教学要求 本课程共分十二章,即涉及Java语言概述,Java语言基础,Java Applet及应用,图形用户界面(GUI)程序,事件处理的机制,掌握Java中的异常处理机制、多线程、输入输出流、JDBC和SOCKET通信技术等技术,本课程系统地讲授面向对象的JA V A程序设计的方法。本课程要求学生掌握JA V A程序语言基本概念,学会使用Java类库中的类编写图形用户界面(GUI)程序,掌握Java中的异常处理、多线程、输入输出流、JDBC 和SOCKET通信技术并熟练地用于编程。 4.教学重点、难点 重点:Java Applet及应用、图形用户界面(GUI)程序、事件处理的机制、多线程、Java输入输出。 难点:多线程、输入输出流、JDBC和SOCKET通信技术。 5.教学方法及教学手段 理论教学、实验教学、课程设计、项目开发实习以及相关的兴趣小组,以期真正做到学中练,练中学。采用一体化的教学方法,每次课开始教师先讲解本次课程语法理论及涉及的例程,然后让学生在上机课进行模仿编程,多随后根据学生模仿情况进行点评,最后要求学生完成本次课提高编程题。实验教学主要根据《实验教学大纲》及《实验指导书》的内容要求,要求学生通过实验能够对课堂讲授内容进行验证、设计或综合运用,从而进一点加深知识的理解与掌握。在课程设计、实习环节中,以软件工程方法分析实际应用项目,指导学生进行实际应用项目开发。选拔优秀学生参加教师的科研项目。培

软件工程JAVA课程设计报告

西安科技大学 软件工程课程设计报告 题目:画图板应用程序开发 班级 学号: 姓名: 2010年12月

目录 1 绪论 (3) 2 可行性研究报告 (3) 3 需求分析报告 (4) 4 总体设计报告 (7) 5 详细设计报告 (8) 6 系统实现报告 (12) 7软件测试报告 (32) 参考文献

1、绪论 1.1 目的和意义 用过微软Windows操作系统的人一定都对Windows自带的画图板非常熟悉了。同图像处理软件界的老大Photoshop比起来,它虽然不及Photoshop的功能强大,内容丰富,但是作为Windows一直以来都内带的附件程序,它具有小巧玲珑,简单实用等其他绘图软件所不具备的优点。同时它的风格也被许多其他的绘图软件所仿效。 作为一个软件工程专业的学生自己也想亲自动手编写一个属于自己的,简单实用的绘图程序。通过本次课程设计可以增加对整个流程的熟悉以及对程序组织结构和框架的理解,对以后开发和设计更大更复杂的程序无疑有更大的帮助。 任务 书写开发文档,分析和制定整个开发过程,然后开发一个自己的画图板应用程序。 2、可行性研究报告 进行可行性研究的方法 本应用程序可行性研究是通过对比windows自带的画板程序的方式进行的,对Windows 里面的画板进行分析研究,分析得出本应用软件应该实现的基本功能,并根据自己的能力进行了功能上的增加。 评价尺度 本软件在评价时应从以下几个方面进行分析: 开发时间应尽量短; 功能实现的代码应尽量少; 代码执行效率要高; 有较强的容错能力; 技术方面的可行性 系统现阶段的发展过程中,利用现有人力和物力是完全具备的能力开发出来的,作为阶段性产品,日后的发展空间大,实现方法逐步简单容易,所以画图板应用程序在技术上是完全可行的。 a.在当前的限制条件下,该程序的功能目标能达到; b.利用现有的技术,该程序的功能可以实现; c.由于能力的不足,现阶段的功能不够完美,还可以在日后完善; d.在规定的限期内,本程序能够完成; 法律方面的可行性 本程序不会在后台扫描用户的磁盘文件; 本程序为完全免费,没有任何盈利行为,而且仅在内部流通,不予推广,所以不涉及浸犯微软版权的行为,所以本软件完全合法。 软件服务条款要与中华人民共和国的法律解释相一致,一致同意服从高等法院所有管辖。如发生软件服务条款与中华人民共和国法律相抵触时,则这些条款将完全按法律规定重新解释,而其它条款则依旧保持对用户产生法律效力和影响。 经济可行行

Java课程设计开题报告

课程设计说明文档 学生选课查询系统 学生选课查询系统 内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。 关键词:选课、课程信息发布、JSP

一、项目概述 1、背景: 华师选课系统每到选课的时候必然瘫痪,系统承受不了大量的学生用户在同一时间段涌入,此时就需要一个快捷简易的选课查询系统来帮助学生解决这种烦恼,减轻教务网的压力。 选课系统是学校必不可少的部分,随着科学技术的不断提高和计算机科学的日益成熟,其强大的功能已经为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机进行选课信息进行管理,有着手工管理无法比拟的优点。例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。 本系统使学生能更方便的对自己的成绩进行查询,更准确的选课。该系统实现了办公无纸化,网络化,信息化。 2、选题意义: 深入了解JAVA的程序设计,设计自己所需的友好操作界面,通过该课程设

计了解如何将程序与数据库连接。 具体应实现的功能如下: ●身份验证模块 功能:根据权限的不同,分别跳转到不同的页面,进行不同的操作。该系统涉及两种用户:学生和教师。 教师: 学生信息查询:管理员可通过学生的学号,姓名对在籍学生进行信 息查询。 课程表的管理:查看每个人的课程表。 学生: 个人信息的修改和填写,个人的密码修改。 网上选课:选择自己的课程。 ●信息管理模块(选做,若有时间剩余则完成该部分) 功能:教师成绩录入,学生查看成绩 3、自己作品的优势所在 (1)界面简洁,操作简单 (2)代码简单,运行速度快 二、系统构建 1、系统框图 教师学生 选课 登录 查询已选课程查询已选课程

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程序设计教案

课堂教学教案 教师姓名:课程名称:Java程序设计授课时数:2 第3次课

附录3 3.1 Java程序的构成 3.2 数据类型、变量与常量 ●语言成分 1. 关键字: 由Java语言定义的,具有特定含义的单词 2. 标识符: 以字母开头的字母数字序列 标识符命名规则①②③④⑤ 3.分隔符 3.2.1 基本数据类型 1. 什么是数据类型 2. 数据类型分类 1)基本数据类型 2)引用数据类型 3. 基本数据类型 3.2.2 变量与常量 ?Java 标识符 ?类名(接口名)—名词 第一字母大写,每一单词首字母大写。 例:AccountBook ?方法名—动词 第一字母小写,每一单词首字母大写。 例:balanceAccount() ?变量名—名词 第一字母小写,每一单词首字母大写。 ?常量名 全部大写,单词间用下划线分开 . 例:HEAD_COUNT ?Java标识符要区分大小写

标识符中的合法字符:字母、数字、_ 、$ (非数字开头) ?数据类型与说明语句 ?Java程序中所处理的数据是将各种数据类型实例化后的数据。 ?数据类型实例化的方法:说明语句 ?实例化数据的两种形式:变量与常量 ?数据类型与说明语句 ?基本数据类型说明语句例:(同时给变量赋初值) ?Java几乎是将字符串视为基本数据类型 ?常数表示法(字面值) ?布尔常数true false ?整型常数 一般常量:32bit 长整型常量:64bit (88L) 十进制数:非0开头的正负整数105,-23 八进制数:0开头的正负整数017(15), -023(-19) 十六进制:0x开头的正负整数0x2F(47),-0xa8(-168) ?浮点常数 一般浮点常量(32bit) 3.14F 6.18E3F 双精度浮点数(64bit ) 7.56D 6.02E23 (D可省) 3.3 表达式 ?数据类型转换 ?同种数据类型转换: 短类型→ 长类型:默认(系统自动转换) 长类型→短类型:强制 ?布尔型与其他数据类型之间不能强制类型转换 ?Wrapper类 ?Wrapper类例-Integer ?属性 static int MAX_VALUE 返回int型数据的最大值 static int MIN_VALUE 返回int型数据的最小值 ?构造方法 Integer(int value) Integer(String s) ?方法 int intValue() double doubleValue() String toString() static String toString(int i) static Int parseInt(String s) static Integer valueOf(String s) ?类型转换-利用类/对象方法 ?利用类方法(静态方法) Integer.parseInt("23") //返回整数23 Integer.toString(23) //返回字符串"23" Double.parseDouble("12.3")

JAVA课程设计大纲

淮海工学院 课程设计教学大纲 课程名称:面向对象课程设计 开课系部:软件工程 撰写人:纪兆辉 审核人: 修(制)订日期:2008年3月 系(院)主管领导签章: 淮海工学院教务处

面向对象课程设计大纲 课程类别:必修学时:40 课程性质:集中实践教学学分:2 适用专业:软件工程、网络工程开课系部:软件工程 一、基本目的与任务 面向对象课程设计是软件工程、网络工程专业实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。其目的在于加深对面向对象理论和基本知识的理解,掌握使用Java语言进行面向对象程序设计的基本方法,提高运用面向对象知识解决实际问题的能力。基本任务是使得学生通过课程设计掌握利用java进行底层的网络应用程序设计、多媒体应用设计、JDBC编程的基本方法,学会综合利用awt包和Swing组件包进行图形用户界面的设计,同时,对java的事件委托模型、异常处理机制、包和接口的概念及多线程技术有比较熟练的把握。 二、教学基本内容 正确运用常用的包、工具类和算法,熟练进行对象类的定义和使用,综合运用图形界面元素构造应用程序界面,熟悉Applet的工作原理,熟练编写Java应用程序和Applet小程序。对网络编程、多媒体编程、JDBC技术能有较全面准确的把握并会综合运用解决实际问题。 在课程设计中,为了提高开发效率,建议尝试选用开发工具Eclipse、NetBeans、Jbuilder。设计的选题要围绕Java的面向对象特点,把如下一些知识点的运用组织到课程设计的选题当中: 包、接口、抽象类 常用工具与算法--数组、向量、字符串、链表等 Java的多线程技术与动画制作 Java的网络编程 Java的数据库连接技术---JDBC Java的异常处理机制 面向对象技术中的继承、重载、各种修饰符

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

Java实验五

实验五继承、抽象类和接口 学号 6 姓名刘顺专业网络工程成绩 【实验目的与要求】 1、掌握Java中类的继承、变量继承、方法继承的思想和使用; 2、理解和掌握java中多态性的覆写和重载的区别和用法; 3、掌握抽象和接口的工作机制和用法; 4、实验后及时总结、归纳、分析,并完成实验报告。 【实验内容与要求】 1、继承和覆盖的使用 (1)编写Employee雇员类,在该类中定义了3个域:name表示员工姓名,salary表示员工的工资,work表示工作:“编写程序”,并分别为它们定义了set和get方法。 (2)编写Manager经理类,该类继承自Employee雇员类。在该类中,定义了一个bonus域,表示经理的奖金,重写work方法:“管理项目”。 (3)在主类中,创建Employee雇员和Manager经理对象,并为其赋值,输出其信息。 2、抽象类的定义和使用 (1)定义抽象类Aniaml动物抽象类,通过构造方法得到动物名字并输出;定义抽象方法shout()表示叫声;定义抽象方法eat()表示吃食。 (2)定义Cat类继承自Animal类,调用父类的构造方法输出猫的名字信息。实现抽象方法shout(“猫叫:喵喵喵!”) ;实现抽象方法eat(“猫喜欢吃:鱼”)。 (3)定义Dog类继承自Animal类,调用父类的构造方法输出狗的名字信息。实现抽象方法shout(“狗叫:汪汪汪!”) ;实现抽象方法eat(“狗喜欢吃:骨头”)。 (4)在主方法中,实例化“小猫”和“小狗”,并向上转型赋给Aniaml类变量Animal ani =new Cat("小猫"); 分别调用ani的shout()和eat()方法。 3、接口的定义和使用 (1)定义一个USB接口标准,定义2个抽象方法:USB设备信息显示show();USB设备开始工作start();USB 设备停止工作stop(); (2)定义U盘子类,class Flash implements USB实现USB接口标准,实现方法:USB接入产品信息show (“USB设备已经接入”);设备启动信息start(“USB设备已经启动”);设备停止动作信息stop(“USB设备已经停止”); (2)定义打印机子类,class Print implements USB实现USB接口标准,实现方法:打印机接入产品信息show

超级玛丽Java课程设计

《面向对象程序设计》 课程设计报告 题目:超级玛丽软件的设计与实现 院(系):信息科学与工程学院 专业班级:计算机科学与技术1201班 学生姓名:程伟 学号:20121183011 指导教师:吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日 华中科技大学武昌分校制

面向对象程序设计课程设计任务书

目录 1需求与总体设计 (6) 1.1需求分析 (6) 1.2程序功能图 (6) 1.3程序类图 (7) 2详细设计 (8) 2.1 MyFrame实现 (8) 2.1.1窗体对象的序列图 (8) 2.1.2 Myframe详细类图 (9) 2.2 Mario实现 (9) 2.2.1 Mario对象的序列图 (9) 2.2.2 Mario类图 (10) 2.3 Enemy类的实现 (11) 2.4 Obstruction类的实现 (12) 2.5 BackGround类实现 (12) 3编码实现 (13) 3.1 MyFrame类的详细代码........................................................................................... 错误!未定义书签。 3.2 BackGround类的详细代码..................................................................................... 错误!未定义书签。 3.3 Mario类的详细代码............................................................................................... 错误!未定义书签。 3.4 Enemy类的详细代码............................................................................................... 错误!未定义书签。 3.5 Obstruction类的详细代码................................................................................... 错误!未定义书签。4系统测试. (63) 4.1 游戏开始界面的测试 (63) 4.2 游戏运行的测试 (63) 4.3 排除错误的处理 (66) 总结 (67)

JAVA实验报告

学生实验报告册 (理工类) 课程名称:面向对象程序设计专业班级:16计算机科学与技术(专转本)学生学号:22 学生姓名:张义丹 所属院部:计算机工程指导教师:刘晶 20 16 ——20 17 学年第2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告上交电子稿,标题采用四号黑体,正文采用小四号宋体,单倍行距。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。

实验项目名称:Java编程基础实验学时: 6 同组学生姓名:————实验地点:工科楼A101 实验日期:实验成绩: 批改教师:刘晶批改时间:

实验1 Java编程基础 一、实验目的和要求 (1)熟练掌握及编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有和软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序;适当添加注释信息,通过javadoc生成注释文档;为主方法传递参数“Hello world”字符串,并输出,记录操作过程。 public class Hello { public static void main(String args[]) { "Hello!"); } } (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 压缩生成".jar"文件。记录操作过程。 import .*; import class HelloApplet extends Applet { public void paint(Graphics g) { ; ("Hello!",20,20); } }

Java项目开发实验教学大纲

Java项目开发实验教学大纲课程代码制订人制订日期修订人修订日期审定人(组) 审定日期《Java项目开发》实验教学大纲课程名称:Java项目开发课程编码: 010228A 学时: 84 其中必做: 84 学分: 1.5 开课学期:第3学期适用专业:计算机软件技术课程类别:选修课程性质:专业课先修课程:C语言程序设计、Java程序设计一、课程性质及任务本 实训是计算机软件技术专业Java方向的实践性环节。通过本次实训,可以系统掌握Java语言程序设计、数据库原理级应用、Struts2企业级应用、Spring和 Hibernate开源框架的使用,并锻炼学生的实践动手能力。整个实训要求及环境,全面模拟企业实际开发环境以及项目管理规范和流程,使学生在实训 中掌握企业开发的实际运作流程,提高学生进入企业的适应能力。二、课程基本要求(1)掌握Java编程基本知识的实际运用;(2)掌握SQL Server数据库的设计与操作,备份与恢复;(3)掌握Struts2的数据类型转换、数据校验、国际化、OGNL表达式、拦截器、文件上传与下载以及Struts2集成Spring等; (4)掌握Spring IOC的配置与运用、Hibernate ORM的配置与运用;将上 述知识运用到具体项目中,以学生熟悉的“学生选课系统”为实训项目,由学生自己理解需求,业务逻辑,完成系统的需求分析、概要设计、详细设计、编码、测试等工作,并提交需求分析报告、系统可运行代码以及数据库设计备份文件(.sql文件)并由此评定成绩。三、实训内容与学时分配(84学时)序项目 内容提要学时性质要求号需求分析1.数据库设计2.超市管理系统公共类设计1. 12 综合必做 3.(Swing+SQL Server 2005实现)模块设计(登录模块、主窗体、采4.购订货模块、人员管理模块)第 1 页 Java项目开发实验教学大纲在Eclipse中实现程序打包5. 需求分析1. 数据库设计2. 使用CVS进行团队开发3. 物资管理系统公共模块4. 综合必做2. 24 (Swing+Spring+Hibernat模块设计(系统登录模块、主窗体5. e+SQL Server 实现)模块、部门管理模块、人员管理模块、物品管理模块、出借信息模块、归还信息模块)需求分析1. 数据库设计2. 使用CVS进行团队开发3. 网上商城系统综合必做公共模块4. 3. 24 (Struts2+Hibernate+Spri ng 实现)模块设计(注册模块、前台商品信

密码学课程设计

信息安全技术应用实践 课程设计报告 设计题目信息的安全传递 专业名称: 班级: 学号: 姓名: 指导教师: 2014年7月

目录 一、引言 (3) 二、设计方案 (3) 1.安全需求 (3) 2.概要设计 (3) 3.详细设计 (5) 三、安全性分析........................................................................................................... 错误!未定义书签。 四、运行结果 (8) 五、总结 (8) 参考文献 (11)

一、引言 对于信息安全问题,经常出现QQ被盗号骗取财物等案件的出现。信息的安全性十分重要,尤其是一些个人的隐私。 人们也越来越重视信息的安全传递,所以设计出一个安全传递信息的系统刻不容缓。所以在此次课程设计我设计了一个信息传递系统,此系统是基于JAVA应用程序开发的,结合密码学的加密算法实现。其主要特性是安全的完成信息的传递。 二、设计方案 1.安全需求 1).服务器端每一客户口令安全存储(口令保护) 2).对所有通信内容用分组密码以计数器模式进行加密 3).对所有的通信内容用认证码(MAC)进行完整性检验 4).服务器对每个客户进行身份认证 5).服务器端抗重放攻击 2概要设计 1. (BrokerGUI) 发送代理端代替发送者进行内部操作,它设置了与服务端的共享密钥、实现共享口令的加密密钥的加密、随机密钥的加密,、文件的加密、消息的验证。 工作进程:

假设口令“sharedPwd”为代理与授权服务器共享口令 1)用“sharedPwd”生成加密密钥“K-BC”,以及MAC密钥“K-MAC” 2)随机生成一个密钥“K”;并且用“K”生成一个新的加密密钥“K-temp” 和一个新的MAC密钥“K-MAC-temp”。 3)对输入文件内容进行加密和计算MAC E[ K-temp, file contents ] || MAC[ K-MAC-temp, E[ K-temp, file contents ] ] 4)对新的密钥“K”进行加密和计算MAC E[ K-BC, K ] || MAC[ K-MAC, E[ K-BC, K ] ] 5)输出所有上述信息 2.(BrokerClient) 接收代理端应该设置自己的用户名和密码,且要发防重放的随机数。与服务器端建立通信通道,向服务器端发送加密后的信息。对方接收来自服务器的信息。 相对服务器而言,接收端的任务主要就是保证消息的安全性、保密性、完整性等。 1)用“用户口令”生成加密密钥“K-BC-user”,以及MAC密钥“K-MAC-user1”; 2)接收端提供给服务器 R ||user1 || MAC[ K-MAC-user1, R || user1 ] 这里R是一个随机数,user1为用户名 3)接收端从服务器获得 E[ K-BC-user1, K ] || MAC[ K-MAC-user1, E[ K-BC-user1, K ] ] 解密得“K”,并计算出加密密钥“K-temp”和 一个新的MAC密钥“K-MAC-temp”。 解密和验证“file contents”。 3.AuthorityServer) 服务端实现发送代理端和接收代理端之间的连接,是一个中转站。服务器接受和发送的信息都是加密的,保证了消息的安全性。 服务端实现对了发送代理端的消息认证,实现接收代理端的用户身份认证,对密钥的解密和加密,实现了防重放攻击。 工作进程:

JAVA实验指导书-实验一

《Java SE程序设计》实验指导手册 授课教师:崔毅东 实验指导教师:崔毅东 教学对象:二年级本科生 开课时间:秋季学期 北京邮电大学软件学院

《Java语言与编程》实验指导书 程保中孙艺 一、实验一:Java程序编制(基础练习) 1、实验目的 学生通过使用Java语言进行基本程序的开发,掌握Java通用IDE,练习类的封装使用、Java基本类库的使用、利用UML进行简单建模。 2、实验内容(详细内容见附件一) 3、实验环境 a)Windows b)Eclipse 或者 NetBean 4、实验要求 1) 独立完成实验内容要求 2) 熟练使用Java常用 IDE 进行编程 3)需要上交源程序文件 4) 需要打印实验报告上交(标准格式见附件二) 5、实验步骤 1) 启动Java常用 IDE。 2)建立project。 3)编辑源程序。 4)编译、链接并执行源程序,看结果是否正确。 5)如果报错或告警,做必要修改,重复3)--5)步骤直到没有错误和告警。

附件一: Project #1 A Math Learning Tool (covers Chapter 2) CSCI 1301 Introduction to Programming Armstrong Atlantic State University Develop a program that lets a first grader practice additions. The program randomly generates two single-digit integers and displays a question such as “What is 7 + 9?” to the student, as shown in Figure a. After the student types the answer in the input dialog box, the program displays a message dialog box to indicate whether the answer is true or false, as shown in Figure b. (a) (b) (c) (d) NOTE: Write the program without using conditional statements. Use only the materials you learned in Chapter 2. (注:写程序,无需使用条件语句。只使用你在第2章所学的材料。)Hint: Generate the random number using the System.currentTimeMillis() introduced in Chapter 2. 提示:使用系统生成的随机数。currenttimemillis()介绍2章。 Submit the following items: 1.Analysis: Restate the problem in your own words (e.g., what is input, output if any, what needs to be computed, what data needs to be stored and their type). 1.分析:用自己的话重述问题(例如,什么是输入,输出,如果有,需要计算,哪些数据需要存储和类型)。 2.Design: Clearly describe the steps to solve this problem using English or pseudo code. 2.设计:清晰地描述用英语或伪代码来解决这个问题的步骤。 3.Coding: Implement the solution in Java. 4.Testing: Make sure that the numbers appear random. Submit the screen shots of two sample runs. 4.测试:确保数字显示随机。提交两个示例运行的屏幕截图。

相关文档
最新文档