《Java程序设计》课内实验指导书-_第1页
《Java程序设计》课内实验指导书-_第2页
《Java程序设计》课内实验指导书-_第3页
《Java程序设计》课内实验指导书-_第4页
《Java程序设计》课内实验指导书-_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 1 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 Java 程序设计程序设计 课内实验指导书课内实验指导书 撰写 撰写 赵卓君赵卓君 2015 年年 6 月月 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 2 目目录录 实验一 Java 基本语法 3 实验二 面向对象编程 4 实验三 异常 7 实验四 util 包和集合框架 9 实验五 io 包和输入输出 11 实验六 GUI JDBC 编程 13 实验七 多线程 17 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 3 实验一 实验一 Java 基本语法基本语法 一 一 实验目的 实验目的 熟悉 Java 程序的结构 并能完成一些基本的算法操作 熟悉 Java 程序的 if else switch case 语句 循环语句以及数组的用法 二 二 实验要求 实验要求 1 编写一个 Java Application 程序 循环打印如下图所示图案 提示 可以将一个整数看成是 ASCII 码 转换为对应的字符 如 char 65 得到 ASCII 码 65 对应的字符 A 2 编写一个 Java 程序 接受用户输入的一个 1 12 之间的整数月份 利用 switch 语句输 出对应月份的天数 提示 在 DOS 命令窗口里编译运行该程序 如图所示 int month Integer parseInt args 0 在程序中用该行代码获得输入的月份 3 定义一个包含 10 个整数的数组 求该数组中的最大值 最小值 平均值与总和 提示 在 DOS 命令窗口里编译运行该程序 如图所示 获取命令行输入的 10 个整数 int ary new int 10 for int i 0 i ary length i ary i Integer parseInt args i 运行时 在该 处输入的月份 运行时 在该 处输入 10 个整 数 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 4 实验二 面向对象编程实验二 面向对象编程 一 一 实验目的 实验目的 熟练掌握类的创建与使用 理解封装与抽象的概念 理解信息隐藏以及 4 种访问控制 修饰符的用法 熟练掌握构造方法的用法 二 二 实验要求 实验要求 1 问题描述问题描述 狗生活在陆地上 是一种陆生动物 既是哺乳类的也是肉食性的 狗通常的时候和人 打招呼会通过 摇摇尾巴 在被抚摸感到舒服的时候 会 旺旺叫 而在受到惊吓 情绪烦躁时 会发出 呜呜 声 猫也生活在陆地上 是一种陆生动物 既是哺乳类的也是肉食性的 猫通常的时候和 人打招呼会发出 喵 的声音 在被抚摸情绪很好时 会发出 咕噜咕噜 声 而 在受到惊吓时 会发出 嘶嘶 声 青蛙是一种两栖动物 既是水生动物也是陆生动物 既不是哺乳类的也不是肉食性的 属于卵生 当青蛙情绪好的时候 会在岸边 呱呱呱 的唱歌 而在受到惊吓时 会 扑通一声跳入水中 2 问题分析问题分析 首先需要抽取问题描述中对象 分析每个对象所具有的特征 分析每个对象所发出的动作 从这些对象的特征中 抽取类的属性和方法 分析类之间的关系 画出类结构图 3 抽象类和对象的基本方法 抽象类和对象的基本方法 抽取对象的基本的方法 找出句子中所使用的名词 例如 在句子 小猫喵喵叫 中 我们能够确定一个对象 猫 确定对象发出的行为动作的基本的方法 找出句子中的动词 例如 旺旺叫 喵喵叫 都属于对象发出的动作 确定对象的属性或者特征的基本的方法 找出句子中的形容词 例如 哺乳性的 肉食性的 卵生的 等等 是 的关系一般抽象为继承 例如 狗是一种动物 意味着 狗 类 继承自 动物 类 有 的关系一般抽象为类的属性 例如 动物都有情绪 意味着 情绪 是 动物 类的一个属性 4 类关系图类关系图 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 5 5 阶段划分阶段划分 第一阶段 不考虑情绪影响动物打招呼的方式 编写 Animal 类 没有 mood 属性 只有一种 SayHello 方法 编写 Dog 类 Cat 类和 Frog 类 分别继承自 Animal 类 实现与 Animal 类不同 的功能 编写 main 方法 分别实例化以上三个类的三个对象 测试类方法实现的正确性 第二阶段 考虑情绪影响动物打招呼的方式 扩充 Animal 类 Dog 类 Cat 类和 Frog 类 增加 Animal 类的 mood 属性 并实 现 sayHello 方法的多态性 扩充 main 方法 第三阶段 考虑陆生动物和水生动物 定义 LandAnimal 接口和 WaterAnimal 接口 扩充 Dog 类 Cat 类和 Frog 类 使其实现相应的接口 扩充 main 方法 6 程序运行结果程序运行结果 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 6 三 三 总结总结 通过本次项目案例练习了面向对象的 Java 实现 基本囊括了面向对象的三大特征 封 装 继承 多态 巩固的知识点 Java 基本的程序结构 类和对象 类的封装 包括修饰符的使用 private public protected 抽象类 抽象方法 abstract 关键字 final 关键字 类的继承 extends 关键字 接口的定义和实现 interface implements 关键字 多态 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 7 实验三 异常实验三 异常 一 一 实验目的 实验目的 掌握 Java 异常的处理机制包括多重 catch 块的使用 理解掌握 Java 中自定义异常和断 言的使用 二 二 异常处理异常处理 1 在以下给出 Java 代码基础上 添加异常处理机制的代码 使得代码在出现异常时能正 常结束程序的运行 public class Lab4 1 public static void main String args float a new float 5 float sum 0 for int i 0 i a length i a i Float parseFloat args i System out println 第 i 1 门课程的成绩是 a i sum sum a i System out println 总成绩是 sum float avg sum a length System out println 平均成绩是 avg 提示 使用多重 catch 块 2 为一个公司编写一个奖金计算程序 用 2010 减去某位员工入职的年份来计算该员工的 在该公司工作的工龄 如果工龄为零 即当年才入职的员工 奖金为其一个月的工资 如果工龄没超过 3 年 奖金为其月工资乘以 1 3 如果工龄为 3 年以上 5 年以下 奖金 为其月工资 1 5 如果工龄为 5 年以上 奖金为其月工资 2 计算公式如下 工龄不足一年 奖金 工资 工龄不足 3 年 奖金 工资 1 3 工龄 3 年以上 5 年以下 奖金 工资 1 5 工龄 5 年以上 奖金 工资 2 该程序需要入职的年份和月工资作为程序的输入数据 输出是该员工的奖金 如果输 入的年份比 2010 年大或者是负数或无效的字符串 则抛出一个自定义异常 IllegalYearException 并输出 无效入职年份 如果输入的工资低于 500 或负数或者抛 出一个自定义异常 IllegalSalaryException 并输出 无效月工资 因此该程序需要定义两 个用户自定义异常 当有无效的入职年份或月工资数据输入时 程序显式抛出自定义异常 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 8 实验四 实验四 util 包和集合框架包和集合框架 一 一 实验目的 实验目的 理解 Random 类及其中的方法 并能实际应用 通过实验 熟悉 Collection 接口 List 接口 Set 接口的常用方法 并学会应用 熟悉 Map 接口的方法 学会运用 HashMap TreeMap 类解决实际问题 二 二 实验要求 实验要求 1 编写程序模拟掷骰子游戏 同时投掷两个骰子 5000 次 每个骰子上共有从 1 到 6 的 6 个数 计算每次投掷结果两个骰子的数值之和 并统计和输出每种可能的结果在模拟 过程中出现的总次数 实验运行效果 解题思路 每次掷两个骰子的最小和是 2 最大是 12 一共有 11 个可能的和 这 11 个可能的和出现的次数可以放在一个整型数组里 用随机数每次生成 2 个 1 6 之间的随机数表示掷两个骰子 2 有集合 A 1 2 3 4 和 B 1 3 7 9 11 编写一个应用程序输出 A 和 B 交集 并集和 差集 实验运行效果 试验运行效果 并集是指两个集合合并 但是去掉重复的元素的集合 可以使用 HashSet 类的 addAll 的方法将两个集合合并 交集是指两个集合中都有的元素组成的集合 可以使用 HashSet 类的 retainAll 的方 法得到两个集合的交集 差集是指属于 A 集合但是不属于 B 集合的元素组成的集合 3 按学生人数对高校排名 珠海有几所普通高等院校 分别是北京理工大学珠海学院 北京师范大学珠海学院 吉林大学珠海学院 中山大学珠海分校 暨南大学珠海分校 现要求按照他们的学生人数对这几所大学按降序排序 效果如下 程序结构 import java util 大学类 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 9 class University implements Comparable String uniName 学校名称 int population 学生人数 构造方法 重写 compareTo 方法 public int compareTo Object o 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 10 实验五 实验五 io 包和输入输出包和输入输出 一 一 实验目的 实验目的 熟练掌握输入流和输出流的使用方法 二 二 实验要求 实验要求 1 写入文件 从标准设备中输入若干行英文句子直到输入 bye 结束 将这些字符串写 入文件 2 实验运行结果 解题思路 1 先构造输入输出流 File f new File myfile txt BufferedReader br new BufferedReader new InputStreamReader System in BufferedWriter bw new BufferedWriter new FileWriter f 2 在循环中使用 br 的 readLine 方法从控制台读取一行 将读到的字符串和 bye 进行比较 3 如果比较结果不等于 bye 则将读到的字符串用 bw 的 write String s 写入文件 4 如果比较结果等于 bye 则 break 跳出循环 5 整个读写过程需要捕获异常 3 从文件中搜索内容 在刚输入的文件中查找单词 打印出包含了欲找单词的所有文本 行 解题思路 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 11 1 创建 2 个输入流 一个输入流从控制台读取用户的输入 一个输入流从文件中读 取每一行 2 然后用字符串的 indexOf 方法来搜索 System out println Please enter the character what you want to search while str null if str indexOf strSearch 1 System out println str str br readLine 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 12 实验实验六六 GUI JDBC 编程编程 一 一 实验目的 实验目的 掌握 Java 图形用户界面的设计 和 Java 的事件处理机制 掌握 JDBC 数据 库访问技术 包括对数据库里的数据的增删改查 并开发一个图书信息管理系 统 一 一 实验要求 实验要求 在 SQLServer 里新建一个名为 BookDB 的图书数据库 并创建 Book Reader Borrow 三张表 表中字段的设计如下表 表 6 1 数据库表设计说明 表名表名字段字段数据类型数据类型说明说明 BookIDvarchar 20 图书编号 主键 BookNamevarchar 100 图书名称 Authorvarchar 50 作者 Pressvarchar 50 出版社 PressDatedatetime出版日期 Book 图书 Statuschar 4 图书在库的状态 在库或借出 ReaderIDvarchar 20 读者编号 主键 ReaderNamevarchar 50 读者姓名 Sexchar 2 性别 Phonevarchar 20 联系电话 Reader 读者 Addressvarchar 20 联系地址 BorrowIDint借阅编号 自动增长标识列 主键 BookIDvarchar 20 图书编号 外键 引用 Book 表中 的 BookID ReaderIDvarchar 20 读者编号 外键 引用 Reader 表 中的 ReadaerID BorrowDatedatetime借阅时间 ReturnDatedatetime还书时间 Borrow 借阅 Memotext备注 三张表之间的关系如图 6 1 和图 6 2 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 13 图 6 1图书管理数据库表的设计 图 6 2图书管理数据库表的关系图 在每张表中分别输入几行数据 便于进行测试 如图 6 3 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 14 图 6 3Book Reader Borrow 表中的数据 在 NetBean 创建一个 Java 工程 使用纯 Java 方式连接数据库 并对 Book 表中的数据 进行维护 如图 6 4 所示 和查询 如图 6 5 所示 Reader 和 Borrow 表中的维护和查询 请参照图书信息维护的界面设计 图 6 4图书信息维护界面设计 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 15 图 6 5图书信息查询界面设计 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 16 实验实验七七 多线程 多线程 一 一 实验目的 实验目的 使用线程来控制动画 熟练掌握线程的创建 状态控制等用法 理解线程 的使用机制 二 二 进度条进度条 1 要求 显示一个进度条 开始运行程序时 每隔一秒进度条向前移动一步 当 进度条走完毕弹出对话框 点击确定 进入下一个方块移动界面 2 运行效果 三 三 方块移动倒计时方块移动倒计时 1 要求 用 JBuilder2006 做一个方块移动倒计时游戏 界面设计如图所示 北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 17 上面的时钟进行倒计时 每隔一秒就减少一秒 下面的方块可以在方框里随机漂浮移动 但是不允许移出方框 当按下 暂停 按钮 倒计时暂停计时 方块也停止移动 按钮表面上 的文字变成 继续计时 当按下 继续计时 按钮 倒计时继续计时 方块也继续移动 当

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论