ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:28.07KB ,
资源ID:8680203      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8680203.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(东软Java技术项目训练实习报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

东软Java技术项目训练实习报告.docx

1、东软Java技术项目训练实习报告 大连东软信息学院Java技术项目训练实习报告 系 别: 计算机系 专业班级: 数据库12002 班 学 号: 12111100220 学生姓名: 冀佳伟 指导教师: 邹启杰 2014年 9 月 11 日第一部分 Java图形化程序开发1.1 系统知识准备:图形用户界面1填空题:(1)GUI界面由GUI组件构成,Java中有两套GUI组件类,分别是位于 java.awt 包下的 AWT 组件和位于 javax.swing 包下的 Swing 组件。(2)Java的Swing包中定义框架的类是 JFrame 。(3)显示框架的方法名是 setVisible(boo

2、lean b) 。(4)设置框架的标题的方法名是 setTitle(String title) 。(5)设置框架大小的方法名是 setSize(int width,int height) 。(6)设置框架缺省关闭操作的方法名是 setDefaultOpration(into peration) 。(7)获取框架内容窗格的方法名是 getContentPane() 。(8)为容器设置布局管理器的方法名是 setLayout(LayoutManager mgr) 。(9)JFrame中内容窗格的缺省布局管理器 BorderLayout 。(10)JPanel缺省的布局管理器是 FlowLayout

3、 。(11)Java的Swing包中定义按钮的类是 JButton 。设置按钮上文本内容的方法名是 setText(String text) 。获取按钮上文本内容的方法名是 getText() 。(12)文本框是用于输入、输出或编辑单行文本的控制组件,Java的Swing包中定义文本框的类是 JTextField 。将指定的字符串写入文本框中的方法名是 setText(String text) 。获取文本框中文本的方法名是 getText() 。设置文本框的可编辑属性的方法名是 setEditable(boolean b) ,并且参数为 true 是可编辑, 参数为 false 是不可编辑。(

4、13)Java的Swing包中定义单选按钮的类是 JRadioButton 。实现单选按钮之间的互斥需将单选按钮放到一个按钮组中,定义按钮组的类名是 ButtonGroup 。获取单选按钮选择状态的方法名是 isSelected() 。(14)基本的事件类都定义在 java.util 包中。(15)所有的事件名都是以 Event 结尾,所有的监听接口名都是以 Listener 结尾。2简答题:(1)请说出三种常用的布局管理器及各自的特点。FlowLayout是最简单的布局管理器。它按添加组件的顺序由左到右将组件排列在容器中,一行排满后再排新的一行。BorderLayout将容器分成五部分:东区

5、、南区、西区、北区、中央。GridLayout根据构造方法定义的行数和列数以网格(矩阵)的形式排列组件,组件按添加的顺序从左到右排列,一行排满另起一行。(2)简述创建菜单的几个步骤。创建一个菜单栏(JMenuBar),并建立它与框架的关联、创建菜单(JMenu),并添加到菜单栏中创建菜单项并添加到菜单中。(3)什么是事件?什么是事件源?事件:可以定义为程序发生了某些事情的信号。如点击鼠标、点击键盘、移动鼠标等。事件源:在其上发生事件的GUI组件被称为事件的源对象。例如,按钮是点击按钮事件的源对象。(4)简述事件处理的过程。每一种事件类都有对应的监听接口,想监听某一事件先给该事件注册事件监听器,

6、当该事件发生时会被该事件的事件监听器监听到,从而执行监听器中的业务逻辑。1.2 系统知识准备:多线程1.简答题(1)什么是多线程?线程和进程有什么区别?多线程是为了使得多个线程并行的工作以完成多项任务通常,我们把操作系统的多个任务称为进程(Process),而程序中的多任务则称为线程。(2)在Java语言中创建线程有几种途径,说明创建方式有何区别,每一种都是怎么实现的,写出主要步骤。第一种方法就是继承线程类java.lang.Thread1.Thread子类无法再从其它类继承(java语言单继承)。2.编写简单,run()方法的当前对象就是线程对象,可直接操作。class subThread

7、extends Thread public subThread( String str ) super( str ); public void run( ) System.out.println( + getName( ) ); try sleep( ( int )( Math.random( ) * 1000 ) ); catch( InterruptedException e ) System.out.println( Finished! + getName( ) ); 第二种方法: 使用Runnable接口1.可以将CPU,代码和数据分开,形成清晰的模型2.线程体run()方法所在的类可

8、以从其它类中继承一些有用的属性和方法3.有利于保持程序的设计风格一致class MulThread implements Runnable String s; public MulThread(String str) s=str; public void run( ) System.out.println(s); try Thread.sleep( ( int ) ( Math.random( ) * 1000 ) ); catch( InterruptedException e ) System.out.println( Finished! + s ); 2.实践题编写一个线程类,类名为Su

9、bThread 。该线程能够在命令行显示线程的名称,然后随机休眠小于1秒的时间,最后显示线程结束信息: “finished”+线程名。编写Application,在其中创建SubThread类的三个对象t1、t2、t3,它们的名称分别为First、 Second、 Third,并启动这三个线程。分别用两种方法实现线程的创建。方法一:public class Application public static void main( String args ) Thread t1 = new subThread( First ); Thread t2 = new subThread( Second

10、 ); Thread t3 = new subThread( Third ); t1.start( ); t2.start( ); t3.start( ); class subThread extends Thread public subThread( String str ) super( str ); public void run( ) System.out.println( + getName( ) ); try sleep( ( int )( Math.random( ) * 1000 ) ); catch( InterruptedException e ) System.out.

11、println( Finished! + getName( ) ); 方法二:public class Application public static void main( String args ) Runnable r1 =new MulThread( First ); Runnable r2 =new MulThread( Second ); Runnable r3 =new MulThread( Third ); Thread t1 = new Thread( r1 ); Thread t2 = new Thread( r2 ); Thread t3 = new Thread( r

12、3 ); t1.start( ); t2.start( ); t3.start( ); class MulThread implements Runnable String s; public MulThread(String str) s=str; public void run( ) System.out.println(s); try Thread.sleep( ( int ) ( Math.random( ) * 1000 ) ); catch( InterruptedException e ) System.out.println( Finished! + s ); 1.3 系统开发

13、:贪食蛇游戏开发1.实践题(1)给出实现该游戏程序需要的主要类名,以及每个类的类结构(类中的属性和方法),并描述该类的作用。类名方法名作用Snakepublic Snake()程序入口,启动程序,显示窗体public static void main(String args)MainFramepublic MainFrame()创建游戏窗体界面对象SnakeThreadpublic void run()监控游戏运行状态,完成游戏的蛇身的移动效果,判断游戏是否结束等MainFrameKeyListenerpublic void keyPressed(KeyEvent e)键盘监听,实现方向键控制

14、蛇的移动方向MainFrameActionListenerPublic void actionPerformed(ActionEvent e)按钮监听,实现开始、暂停、结束等功能PlayPanelpublic void createSnake()封装了游戏面板的创建,蛇身的创建,食物的创建,蛇身的移动,游戏是否结束等功能的具体实现public void moveSnake()public void clear()public boolean isLost()public void setSnakeDirection(int direction)public int getScore()publ

15、ic PlayPanel()public void createFood()ChartPanelpublic ChartPanel(JFrame chart)创建排行榜界面Chartspublic Charts()实现排行榜功能的业务逻辑,从文件中查询排行榜,将新的排行榜存入到文件中public String getSnakeCharts()public void setSnakeCharts(int grade)MusicPlayerpublic MusicPlayer()实现背景音乐的播放功能(暂停、上一首、下一首)public void play()public void lastMus

16、ic()public void nextMusic()public void endPlay()public void run()(2)描述在编程中遇到的问题及解决方法。a如何实现排行榜中成绩的永久保存 将成绩保存到一个文件中,查看、保存时进行文件的读写操作b如何实现背景音乐的开启、暂停功能 将该类写成线程类,通过线程的开启和暂停功能实现音乐的开启暂停功能1.4 实习情况检查记录单实习阶段第一阶段 Java图形化程序开发记录时间2012-08-24完成工作规定模块完成情况:以下填写“完成”或“未完成”,及完成时间1.主体界面:完成完成时间2012-08-242.蛇身移动和控制:完成完成时间20

17、12-08-243.游戏控制:完成完成时间2012-08-24选作模块以及创新功能完成情况:4.得分统计:完成完成时间2012-08-245.级别设置:完成完成时间2012-08-246.积分排行榜完成完成时间2012-08-247.背景音乐完成完成时间2012-08-24工作量统计:完成代码_829_行未完成原因解释未完成规定模块功能的原因,如都完成则不必填写第二部分 Java数据库程序开发2.1 系统知识准备:结构化查询语言SQL1填空题:1)请请项目需求,采用标准SQL语句将球队表(Team)、球员表(Member)、比赛进程表(Course)、进球表(Goal)、积分榜(Score)和

18、射手榜(GoalScore)6张表创建出来,并填写到下面的空格中。1CREATE TABLE TEAM (NAME VARCHAR(20) PRIMARY KEY ,MASTERPLACE VARCHAR(30) ,COACH VARCHAR(20) ) 2CREATE TABLE MEMBER(NAME VARCHAR(20) NOT NULL,TEAMNAME VARCHAR(20) NOT NULL FOREIGN KEY REFERENCES TEAM(NAME),NUMBER INT NOT NULL ,POSITION VARCHAR(6) NOT NULL ,HEIGHT INT

19、 ,WEIGHT INT ,BIRTHDATE DATETIME ,PRIMARY KEY(TEAMNAME,NUMBER) 3CREATE TABLE course(home varchar(20) not null references team(name), away varchar(20) not null references team(name), turn int not null, matchdate datetime not null, homescore int not null, awayscore int not null, primary key (home,away

20、) 4CREATE TABLE goal(teamname varchar(20) not null,number int not null,turn int not null,goaltime datetime not null,foreign key(teamname,number) references member(teamname,number),primary key (teamname,number,turn,goaltime) 5CREATE TABLE score( place int not null default 0, name varchar(20) primary

21、key, turn int not null, won int not null, even int not null, beaten int not null,goal int not null,lost int not null,net int not null,point int not null ) 6CREATE TABLE goalscore( place int not null default 0, name varchar(20) not null , teamname varchar(20), number int not null, goals int not null,

22、 foreign key (teamname,number) references member(teamname,number), primary key(teamname,number) 2)利用足球联赛管理系统的6张表,完成下述要求的SQL语句。(1) 向球队表中插入一个球队信息(北京现代队,北京体育场)。 insert into Team (NAME, MASTERPLACE) values ( 北京现代队 , 北京体育场 )(2)同(1)题,向球队表中插入一个球队信息(北京现代队,北京体育场)。 insert into Team _ values _ ( 北京现代队 , null ,

23、 北京体育场 )(3)向球员表中插入记录(张海峰,辽宁,8,前卫,177,1979-9-16)。 insert into member values(张海峰,辽宁,8,前卫,null, 177,1979-9-16 ) (4)将积分榜表中所有球队的积分都设置为0。 update Score set POINT = 0(5)将深圳健力宝球队的教练的值设为空值。 update Team SET coach=null where NAME=深圳健力宝(6)将球员表中场上位置为空的球员的场上位置改为后卫。 UPDATE Member SET POSITION = 后卫 WHERE POSITION IS

24、 NULL (7)将球队主场在上海的球队的所有球员的出生日期改为1980-1-1、场上位置改为空值。 Update member set birthday=1980-1-1 join team on member.teamname=team.name where team.masterplace is null (8)删除比赛进程表Course中的所有记录。 Delete from Course(9)删除球队表中教练为空的球队信息。 Delete FROM Team where COACH IS NULL(10)删除积分榜中有关大连万达队的所有积分信息。 Delete from score w

25、here name= 大连万达 2实践题:利用教材中的中超足球联赛管理系统的4张表,在SQL查询分析器中实现满足如下要求的SQL语句,并将成功运行的SQL语句写到题后空白处。(1)查询所有球员信息。 Select * from member (2)查询所有球员的姓名、所在球队、球衣号码和出生日期。 Select name,teamname,number,birthday from member (3)查询所有球员的姓名、所在球队、球衣号码和年龄。 Select name,teamname,number,YEAR(GETDATE()-YEAR(birthdate) from MEMBER (4)

26、查询球员表中所有球员的出生年份,相同的年份只显示一次。 Select distinct birthday from member (5)查询球队表中的球队信息,并返回前5行记录。 select top 5 * from TEAM; (6)查询球队表中的球队信息,并返回查询结果的前20的记录。 select top 20 percent * from TEAM; (7)查询球队主场在上海的各球队的名称。 Select name from team where masterplace=上海 (8)查询球员表中身高超过180cm的球员的姓名和场上位置。 Select name,position fr

27、om member where height180 (9)查询体重在75,90之间的所有球员的姓名和所在球队。 Select name,teamname from member where weight between 75 and 90 (10)查询在1978年1984年之间出生的所有球员的姓名、所在球队、出生日期。 Select name,teamname,birthdate from member where year(birthdate) between 1978 and 1984; (11)查询大连实德、山东鲁能、北京现代和上海申花4个球队的所有球员的信息。 Select * fro

28、m member where teamname in (大连实德,山东鲁能,北京现代,上海申花) (12)查询球员表中不姓“张”的所有球员的信息。 Select * from member where name not like 张%; (13)查询球员表中身背号码的最后一位不是3、4、7的球员的姓名、所在球队和身背号码。 Select name,teamname,number from member where number not like %3 and number not like %4 and number not like %7; (14)查询球队表中教练不为空值的球队名称和教练姓

29、名。 Select name,coach from team where coach is not null (15)查询球员表中出生日期为空值的球员姓名。 Select name from member where birthdate is null (16)查询大连实德队中在1980年以后出生且身高超过185cm的球员姓名。 Select name from member where teamname=大连实德 and year(birthdate)=1980 and height185; (17)查询各球队信息,结果按球队教练的姓氏升序排列。 Select * from team order by coach ASC; (18)查询上海申花队的球员姓名和年龄,并将结果按球员的年龄升序排列,年龄相同的按姓名降序排列。 Select name,year(getdate()-year(birthdate) as ag from member where teamname=上海申花 order by ag asc,name

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1