一、基于OBE模式的实验目的和要求
要求复习课件中理论知识;练习课堂所讲的例子;编写程序完成以下实验目标并上交实验报告(包括电子文档与纸质文档)。

  1. 能够根据Java集合框架,利用迭代方法编程实现对集合的遍历操作。
  2. 能够熟练使用泛型接口、泛型类和泛型方法实现程序开发。
  3. 能够熟练使用反射机制。
    二、实验仪器和设备
    微型计算机、Eclipse编程环境。
    三、实验过程(选择一个完成)
    1、以患者到医院就诊为背景,使用列表对象(ArrayList)和泛型机制实现就诊排队叫号系统。要求如下:
  1. 定义叫号器类QueueCaller,包含成员变量ArrayList类型的queue(排队对象)。该类实现功能如下:a)患者取号排队方法fetchNumber,加入等待队列,并显示当前等待人数;b) 实现负责叫号方法callNumber,叫号后移除排队首患者,并显示其他等候人员。(注意:要求列表中以字符串类型存储患者姓名。)
  2. 编写测试类,实现下图效果:
package 实验报告.叫号系统;class MainClass {public static void main(String[] args){QueueCaller Patient= new QueueCaller();for(int i=1;i<=3;i++){Patient.fetchNumber("张三-"+i);}Patient.FirstPatient();while(Patient.size()!=0){Patient.callNumber();Patient.showPatients();}}
}package 实验报告.叫号系统;
import java.util.*;
public class QueueCaller {private ArrayList<String> queue;public QueueCaller(){queue=new ArrayList<String>();}public int size(){return queue.size();}public void FirstPatient(){System.out.println("请患者:"+queue.get(0)+"到诊室就诊!");for(int i=1;i<=queue.size()-1;i++){System.out.println(queue.get(i)+"候诊中");}}public void fetchNumber(String patient){queue.add(patient);System.out.println(patient+"前面还有"+(size()-1)+"位在等候就诊");}public void showPatients(){if(queue.isEmpty()){return;}else{for(int i=1;i<=queue.size()-1;i++)System.out.println(queue.get(i)+"候诊中");}}public void callNumber(){queue.remove(0);if(queue.size()!=0)System.out.println("请患者:"+queue.get(0)+"到诊室就诊!");}
}

实现结果

结果分析
运用了ArrayListqueue 存放了患者的名字,实现了患者名字的存入于显示,运用类的实例化,实例化了QueueCaller类,在QueueCaller类中定义了显示候诊人数方法,叫号方法,并且在测试中考虑到第一个人无法显示问题,又定义了一个第一个人显示方法。在Mianclass里调用了QueueCaller中定义的方法,实现了在主函数里调用方法。

Java高级程序设计课程设计报告相关推荐

  1. java课程设计-音乐播放器_Java程序设计课程设计报告音乐播放器

    Java程序设计课程设计报告音乐播放器 <Java及Java web应用开发>实验报告 设计题目: Java音乐播放器 专 业 计算机信息管理 班 级 1班 学 号 姓 名 2014年12 ...

  2. java音乐系统实验报告_java程序设计课程设计报告音乐播放器.docx

    java程序设计课程设计报告音乐播放器.docx JAVA及JAVAWEB应用开发实验报告设计题目JAVA音乐播放器专业计算机信息管理班级1班学号姓名2014年12月24日IMPORTJAVAXMED ...

  3. JAVA高级应用课程设计(网上书城系统——会员登陆模块的设计与实现)

    课程设计报告 课   程  名   称: JAVA高级应用课程设计 设   计  题   目:网上书城系统--会员登陆模块的设计与实现 目 录 一.开发背景. 1 (一)背景概述. 1 (二)发展前景 ...

  4. Java拼图游戏总结,Java拼图游戏课程设计报告

    Java拼图游戏课程设计报告 JavaJava 程序设计与应用开发 课程设计报告程序设计与应用开发 课程设计报告 设计题目 拼图大作战 学生姓名 学生班级 学生学号 指导教师 完成时间2016 年 0 ...

  5. java记事本实践意义,Java记事本程序课程设计报告

    Java记事本程序课程设计报告 课程设计课程设计报告书报告书 课程名称课程名称 面向对象课程设计面向对象课程设计 设计题目设计题目 记事本程序记事本程序 专业班级专业班级 学学 号号 姓姓 名名 目录 ...

  6. c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc

    计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...

  7. c语言程序设计超市会员卡管理系统,C语言程序设计课程设计报告超市水果信息管理系统...

    <C语言程序设计课程设计报告超市水果信息管理系统>由会员分享,可在线阅读,更多相关<C语言程序设计课程设计报告超市水果信息管理系统(28页珍藏版)>请在人人文库网上搜索. 1. ...

  8. C++程序设计课程设计报告——自助点餐系统

    C++程序设计课程设计报告 一.任务要求 该系统为两种角色的用户提供服务,一种是餐厅管理员,一种是顾客.餐厅管理员根据账号.密码登录系统.顾客无需登录即可使用系统. 顾客通过该餐厅在系统中提供的菜单为 ...

  9. 程序设计课程设计报告(学生成绩管理系统)

    程序设计课程设计报告 课程设计题目及内容 题目:学生成绩管理系统 设计要求及提示如下: (1).设计一个学生类Student,包括数据成员:姓名.学号.二门课程(面向对象程序设计.高等数学)的成绩. ...

最新文章

  1. 大数据集群中数据互相导通流程汇总(持续更新中)
  2. 使用番石榴的5个理由
  3. P5709 【深基2.习6】Apples Prologue 苹果和虫子(python3实现)
  4. property.js
  5. 学习GRPC(一) 简单实现
  6. pip mysql_config not found_pip安装mysql-python出现mysql_config not found错误
  7. bp神经网络模型的优缺点,什么是BP神经网络模型?
  8. 数据建模软件Chiner,颜值与实用性并存
  9. SLM4054独立线性锂电池充电器的芯片的学习
  10. 深入理解GBDT回归算法
  11. 如何c语言看字节大小,如何计算C语言结构占用的字节数
  12. 7-1 厘米换算英尺英寸*宅家第一天
  13. 微信公众号编辑有哪些实用的小工具和小技巧?
  14. 试炼四:switch选择结构
  15. 考研单词不用死记硬背,必备资料23考研英语朱伟恋恋有词资料硬,老师废话少
  16. java四大名著知乎_《西游记》是否被高估了?四大名著该如何排名?
  17. 下班后可以做点什么副业赚钱呢?
  18. 基于 HTML5 WebGL 的故宫人流量动态监控系统
  19. 20年了,永远的陈慧娴
  20. android教程丿it教程网,[IT教程吧-www.itjc8.com]_Da类android视频

热门文章

  1. B站 x《男人装》首次破圈合作,有趣的灵魂遇见了艺术
  2. 请求响应数据?Controler层注解!
  3. 面试中的老大难 - MySQL中的锁
  4. android persist属性使用
  5. rabbitmq多个消费者消费同一个队列中的同一条消息。
  6. valist:解决变参问题
  7. String.prototype.matchAll 正则一些常用方法
  8. 【linux】理解 export PATH、LIBRARY_PATH、 LD_LIBRARY_PATH
  9. 【JavaWeb】JSP技术详解
  10. 网优5g前景_5G网络优化师前景怎么样?