Java程序设计实训实验指导书.docx

上传人:b****1 文档编号:13223166 上传时间:2023-06-12 格式:DOCX 页数:75 大小:191.60KB
下载 相关 举报
Java程序设计实训实验指导书.docx_第1页
第1页 / 共75页
Java程序设计实训实验指导书.docx_第2页
第2页 / 共75页
Java程序设计实训实验指导书.docx_第3页
第3页 / 共75页
Java程序设计实训实验指导书.docx_第4页
第4页 / 共75页
Java程序设计实训实验指导书.docx_第5页
第5页 / 共75页
Java程序设计实训实验指导书.docx_第6页
第6页 / 共75页
Java程序设计实训实验指导书.docx_第7页
第7页 / 共75页
Java程序设计实训实验指导书.docx_第8页
第8页 / 共75页
Java程序设计实训实验指导书.docx_第9页
第9页 / 共75页
Java程序设计实训实验指导书.docx_第10页
第10页 / 共75页
Java程序设计实训实验指导书.docx_第11页
第11页 / 共75页
Java程序设计实训实验指导书.docx_第12页
第12页 / 共75页
Java程序设计实训实验指导书.docx_第13页
第13页 / 共75页
Java程序设计实训实验指导书.docx_第14页
第14页 / 共75页
Java程序设计实训实验指导书.docx_第15页
第15页 / 共75页
Java程序设计实训实验指导书.docx_第16页
第16页 / 共75页
Java程序设计实训实验指导书.docx_第17页
第17页 / 共75页
Java程序设计实训实验指导书.docx_第18页
第18页 / 共75页
Java程序设计实训实验指导书.docx_第19页
第19页 / 共75页
Java程序设计实训实验指导书.docx_第20页
第20页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Java程序设计实训实验指导书.docx

《Java程序设计实训实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实训实验指导书.docx(75页珍藏版)》请在冰点文库上搜索。

Java程序设计实训实验指导书.docx

Java程序设计实训实验指导书

公司内部编号:

(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-9018)

 

Java程序设计实训实验指导书

《JAVA程序设计实训》

实验报告

班级:

学号:

姓名:

实验一开发简单的Java应用程序

一、上机目标:

开发“我行我素”购物管理系统:

1.制作系统登录菜单

2.制作系统主菜单

3.制作客户信息管理菜单

二、训练技能点

1.熟悉用Eclipse编写Java程序

2.会使用输出语句从控制台输出信息

3.会进行代码排错

三、实验内容

阶段1:

训练要点:

使用Eclipse平台开发Java程序

Java输出语句

需求说明:

从控制台输出一行信息:

欢迎使用开心购物管理系统版

实现思路:

创建一个Java项目:

ShopManagementSystem

创建一个文本文件:

编写程序框架

编写输出语句

编写注释

代码:

publicclassLoginMenu1{

publicstaticvoidmain(String[]args){

");

}

}

阶段2:

需求说明:

从控制台输出多行信息

代码:

publicclassLoginMenu2{

publicstaticvoidmain(String[]args){

/*从控制台输出信息*/

);

);

}

}

阶段3:

训练要点:

使用\n和\t控制输出格式

需求说明:

从控制台输出购物管理系统的登录菜单

实现思路:

创建文件:

结合使用\n和\t控制菜单输出格式

代码:

publicclassLoginMenu{

/*

*显示系统登录菜单

*/

publicstaticvoidmain(String[]args){

);

);

}

}

阶段4:

需求说明:

输出两个菜单

1、系统主菜单

代码:

2、客户信息管理菜单

 

代码:

阶段5:

训练要点:

代码排错技巧

需求说明:

纠正程序中的错误,使其输出“我喜欢Java程序”

publicclasswrongcode{

publicstaticvoidMain(){

/*打印输出一条信息

100米0.1米1900年1月1日1900年1月1日1900年1月1日1900年1月1日1900年1月1日1900年1月1日1900年1月1日1900年1月1日

0000”

showLoginMenu();

源代码:

阶段2:

需求说明:

扩展购物结算,自动计算会员折扣:

1、已知会员号,根据会员号查找目前的积分

2、计算会员所享受的折扣

代码:

阶段3:

训练要点:

StringBuffer

需求说明:

基于阶段3扩展购物结算程序:

1、使用StringBuffer存储购物信息(商品名、数量和消费额)

2、打印购物小票

3、测试系统购物结算功能

实现思路及关键代码:

创建StringBuffer对象存储购物信息

StringBuffergoodsList=newStringBuffer();

使用StringBuffer的append()方法连接购物信息

("\n"+name+"\t"+"¥"+price+"\t\t"+count+"\t\t"+"¥"+(price*count)+"\t");

打印购物小票

在Menu类中添加代码测试购物结算程序

Paypay=newPay();//购物结算

(goodsName,goodsPrice,custNo,custBirth,custScore);

();

源代码:

阶段4:

需求说明:

阅读Pay类的方法returnLastMenu(),并将代码补充完整

测试该方法

代码:

实验十一类和对象综合训练(阶段练习)

一、上机目标

–类和对象综合训练

二、训练技能点

•会定义类,描述类的属性和方法

•会创建和使用对象

•会使用包组织Java工程

三、实验内容

实现人机互动版猜拳游戏,运行效果如下图所示:

、阶段划分:

•第一部分:

阶段小结

–阶段小结

–上机、作业共性问题讲解

•第二部分:

练习(120分钟)

–阶段1

分析业务;抽象出类;描述类的特征和行为;创建用户类

–阶段2

创建计算机类

–阶段3

创建游戏类,编写它的方法:

初始化、计算对战结果、显示结果

–阶段4

编写游戏类的方法:

开始游戏

–阶段5

编写入口程序

•第三部分(20分钟)

–总结

阶段小结

•会定义类,描述类的特征和行为

–如何定义类的一个方法

–类和对象的区别

•会创建和使用对象

–创建对象的语法

–如何使用别的对象的方法如何使用同一个类的方法

–程序入口main方法可以直接使用类的方法吗

•会使用包组织Java工程

–为什么需要使用包它的含义在程序中的位置

–什么情况下要导入包,举例

–语法结构

、阶段1

需求说明:

分析业务

抽象出类、类的特征和行为

创建用户类

实现思路及关键代码:

分析业务,抽象出类、类的特征和行为

创建用户类:

属性:

名称(初始值为“匿名”)、积分(初始值为0)

方法:

出拳

代码:

、阶段2

需求说明:

创建计算机类

属性:

名称(初始值为“匿名”)、积分(初始值为0)

方法:

出拳

代码:

、阶段3

需求说明:

创建游戏类

属性:

甲方玩家(用户)、乙方玩家(计算机)、对战次数

编写游戏类方法1——初始化

编写游戏类方法2——计算并返回对战结果

编写游戏类方法3——显示对战结果

代码:

、阶段4

需求说明:

编写游戏类方法4——开始游戏

代码:

、阶段5

需求说明:

编写系统入口程序,调试运行

代码:

、总结

实验十二综合练习

一、上机任务

基础部分总复习

二、训练技能点

1、理解程序基本概念——程序、变量、数据类型

2、会使用顺序、分支、循环、跳转语句编写程序

3、会使用数组、操作字符串

4、会定义类、创建和使用对象

三、实验内容

开发迷你DVD管理器(MiniDVDMgr),实现:

1、DVD信息查询

2、DVD借出管理

任务分解:

阶段1:

运行入口程序,显示系统菜单,支持菜单选择

阶段2:

可进行DVD信息查询,查询完毕返回主菜单

阶段3:

实现管理DVD借出的功能,修改借出状态后返回主菜单

阶段1:

需求说明:

编写DVDSet类:

初始化当前DVD信息

编写DVDMgr类

1、setData方法加载数据信息

2、startMenu方法显示管理器菜单,支持菜单选择

实现思路及关键代码:

运行效果:

源代码:

阶段2:

需求说明:

扩展DVDMgr类:

1、编写search方法:

显示DVD信息(名称、借出状态)

2、编写returnMain方法:

输入0返回主菜单

实现思路及关键代码:

运行效果:

源代码:

阶段3:

需求说明:

扩展DVDMgr类:

编写lend方法:

输入要借的DVD名称,修改DVD状态

实现思路及关键代码:

运行效果:

源代码:

实验十三面向对象的Java实现-封装

一、上机目标

使用Eclipse编写版块类、帖子类、用户类

具有如下功能:

–版块类封装版块的基本属性,可以设置和输出版块的信息

–帖子类封装帖子的基本属性,可以设置和输出帖子的信息

–用户类封装用户的基本属性,可以设置和输出用户的信息

二、训练技能点

•会使用封装的方式编写类

•会为类添加私有属性

•会编写构造方法,重载构造方法

•会使用setter/getter方法

三、实验内容

阶段1:

训练要点:

私有属性,封装

需求说明:

创建帖子类

类名

Tip

属性

title:

String

content:

String

publishTime:

String

uid:

int

方法

getInfo():

void

实现思路及关键代码:

创建帖子类:

Tip

声明私有属性并初始化

帖子属性:

Stringtitle

Stringcontent

StringpublishTime

intuid

编写方法getInfo(),输出帖子基本信息

创建测试类,编写main方法调用帖子的getInfo()方法

运行效果:

源代码:

阶段2:

需求说明:

创建版块类和用户类

类名

Board

User

属性

boardId:

int

boardName:

String

parentId:

int

uId:

int

uName:

String

uPass:

String

方法

getBoardInfo():

void

getUserInfo():

void

代码:

阶段3:

训练要点:

构造方法,重载构造方法

需求说明:

使用无参构造方法初试化帖子对象

使用有参构造方法初试化帖子对象

实现思路及关键代码:

1、为帖子类编写无参构造方法,初始化帖子对象,并输出“帖子类的无参构造方法”

2、为帖子类编写有参构造方法,初始化titile,content,

publishTime,并输出“帖子类的有参构造方法”

3、使用无参构造方法创建帖子对象,调用getInfo()输出信息

4、使用有参构造方法创建帖子对象,调用getInfo()输出信息

运行效果如下:

源代码:

阶段4:

错误现象:

测试类直接访问帖子对象和用户对象的private属性

解决方法:

为private属性添加setter/getter方法

需求说明:

为所有private属性添加setter/getter方法,并在测试类中使用

代码:

实验十四面向对象的Java实现-继承和多态

一、上机目标

使用Eclipse编写主题类、回复类

要求如下:

–主题类继承帖子类,并增加属性:

主题id,版块id

–回复类继承帖子类,并增加属性:

回复id,主题id

–在帖子类中实现多态

–使用super调用父类构造方法

二、训练技能点

•会使用继承的方式编写子类

•会使用多态的方式编写程序

•会使用super调用父类构造方法

三、实验内容

阶段1:

训练要点:

继承

需求说明:

创建主题类,继承帖子类

主题类结构:

类名

Topic

属性

topicId:

int

boardId:

int

帖子类结构:

类名

Tip

属性

title:

String

content:

String

publishTime:

String

uid:

int

方法

getInfo():

void

实现思路及关键代码:

1、创建主题类:

Topic,继承帖子类:

Tip

2、增加以下属性

主题id:

inttopicId

版块id:

intboardId

3、添加setter/getter方法

4、使用从帖子类继承来的getInfo()方法,输出主题信息

运行效果:

源代码:

阶段2:

需求说明:

1、创建回复类:

Reply,继承帖子类:

Tip

2、增加以下属性

回复id:

intreplyId

主题id:

inttopicId

3、添加setter/getter方法

4、使用从帖子类继承来的getInfo()方法,输出回复信息

运行效果:

代码:

阶段3:

训练要点:

多态

需求说明:

主题类、回复类重写帖子类输出信息的方法

实现思路及关键代码:

1、主题类重写getInfo()方法,输出主题信息

2、回复类重写getInfo()方法,输出回复信息

3、在测试类中使用多态的方式调用getInfo()方法

运行效果如下:

源代码:

阶段4:

需求说明:

1、为主题类添加无参构造方法,在该方法中使用super();,并输出“主题类的无参构造方法”

2、为主题类添加有参构造方法,参数同Tip类有参构造方法,在该方法中使用super(pTitle,pContent,pTime);,并输出“主题类的有参构造方法”

3、使用测试类测试主题类构造方法

实现思路及关键代码:

运行效果如下:

源代码:

实验十五面向对象的Java实现-接口

一、上机目标

使用Eclipse编写接口和实现类,要求如下:

–定义数据访问接口

用户数据访问接口:

UserDao

版块数据访问接口:

BoardDao

主题数据访问接口:

TopicDao

回复数据访问接口:

ReplyDao

–编写UserDao接口的实现类:

UserDaoImpl

–使用多态的方式调用UserDao接口的方法

二、训练技能点

•会编写接口

•会实现接口

•会使用接口

三、实验内容

阶段1:

训练要点:

定义接口

需求说明:

定义接口:

用户Dao接口、主题Dao接口

接口

UserDao

TopicDao

方法

查找用户

增加用户

修改用户

查找主题

增加主题

修改主题

删除主题

实现思路及关键代码:

UserDao接口实现思路

1、定义接口:

UserDao

2、声明UserDao接口的方法

查找用户:

publicUserfindUser(StringuName);

增加用户:

publicintaddUser(Useruser);

修改用户:

publicintupdateUser(Useruser);

TopicDao接口实现思路

1、定义接口:

TopicDao

2、声明UserDao接口的方法

查找主题:

publicTopicfindTopic(inttopicId);

增加主题:

publicintaddTopic(Topictopic);

删除主题:

publicintdeleteTopic(inttopicId);

修改主题:

publicintupdateTopic(Topictopic);

源代码:

UserDao

TopicDao

阶段2:

需求说明:

定义接口:

版块Dao接口、回复Dao接口

接口

BoardDao

ReplyDao

方法

增加论坛版块

增加回复信息

删除回复信息

修改回复信息

运行效果:

代码:

BoardDao代码

ReplyDao代码

阶段3:

训练要点:

实现接口,使用多态

需求说明:

实现UserDao接口,使用接口和实现类实现多态

实现思路及关键代码:

1、定义UserDao接口的实现类:

UserDaoImpl

2、实现UserDao接口所有的方法

3、在测试类中使用UserDao接口和其实现类实现多态

运行效果如下:

源代码:

阶段4:

需求说明:

1、为User类添加表示性别的属性:

intgender,及对应的setter/getter方法,修改getUserInfo()方法,增加性别的输出

2、在UserDao接口中添加性别常量

3、在测试类中使用该常量

实现思路及关键代码:

运行效果如下:

源代码:

实验十六使用异常处理程序错误

一、上机目标

使用UserDaoImpl类、User类

完成如下功能:

–对空的User对象调用getUserInfo()方法抛出的异常进行处理

–修改UserDaoImpl,要求用户id不能修改,修改则抛异常

–使用log4j输出日志信息

二、训练技能点

•会使用try/catch/finally捕获和处理异常

•会使用throw和throws抛出异常

•会使用log4j记录日志

三、实验内容

阶段1:

训练要点:

异常,异常处理

需求说明:

使用UserDaoImpl的查找方法,查找一个不存在的用户,并试图输出用户信息

使用try/catch对抛出的异常进行处理

实现思路及关键代码:

1、向UserDaoImpl中添加用户,然后查找并输出该用户信息

2、使用不存在的用户名查找用户,并试图输出用户信息

3、对抛出的异常使用try/catch进行异常处理

运行效果如下:

源代码:

阶段2:

需求说明:

1、对阶段1的异常使用try/catch/finally进行异常处理

2、finally块输出是否抛出了异常

运行效果:

代码:

阶段3:

训练要点:

throw,throws

需求说明:

修改UserDaoImpl的updateUser(Useruser)方法:

如果用户id被修改,则:

1、不执行更新

2、抛出一个Exception异常

3、异常消息是“用户id不能修改”

实现思路及关键代码:

1、修改UserDao的updateUser(Useruser)方法,声明抛出异常

2、修改UserDaoImpl的updateUser(Useruser)方法,加入判断语句,并抛出异常

if(()!

=i){

thrownewException("用户id不能修改");

}

3、在测试类中调用,并进行异常处理

运行效果如下:

源代码:

阶段4:

需求说明:

1、使用log4j输出日志信息

2、查看输出的日志信息

实现思路及关键代码:

运行效果如下:

源代码:

实验十七面向对象部分综合训练

一、上机目标

1、使用面向对象描述计算机输出图像的过程

2、使用面向对象的方式描述计算的接口和驱动

二、训练技能点

1、能理解并会使用面向对象的特性--封装、继承、多态

2、会使用接口设计、编写程序

3、会使用Java的异常处理机制进行异常处理

三、实验内容

阶段1:

训练要点:

综合运用

需求说明:

1、编写类描述计算机的主机

主机类

硬盘类

属性

计算机的主机包括主板、CPU、内存、硬盘

数据(整形数组)

方法

从硬盘读取数据

向硬盘写入数据

构造方法

读、写硬盘的方法

2、编写类描述计算机的输入输出设备

实现思路及关键代码:

源代码:

阶段2:

需求说明:

1、编写计算机类输出图像

计算机类

属性

主机、显示器、键盘

方法

构造方法(初始化)

显示图形方法(通过主机读取数据,通过显示器显示)

代码:

阶段3:

需求说明:

1、编写Java接口和类:

模拟计算机的接口及驱动

接口

驱动

输入输出接口,输入输出方法

USB接口,继承输入输出接口,增加常量——针脚数(4个)

实现USB接口,打印针脚数、输入输出等信息

VGA接口,继承输入输出接口,增加常量——针脚数(15个)

实现VGA接口,打印针脚数、输入输出等信息

源代码:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2