Java程序设计实训实验指导书.docx
- 文档编号:25738931
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:75
- 大小:191.60KB
Java程序设计实训实验指导书.docx
《Java程序设计实训实验指导书.docx》由会员分享,可在线阅读,更多相关《Java程序设计实训实验指导书.docx(75页珍藏版)》请在冰豆网上搜索。
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接口,打印针脚数、输入输出等信息
源代码:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 实验 指导书