java数据结构课程设计病人排队就诊问题!!!

   更新日期:2024.05.18
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.List;
import java.util.Stack;
public class DoctorMain implements Runnable
{
private static Deque<Integer> binRenDeque;
private boolean onWork = false;
private boolean isDoctor = true;
public static Integer binRenNumber = 0;
public DoctorMain()
{
System.out.println("开始上班");
binRenDeque = new ArrayDeque<Integer>();
}
/**
* <br/>
* <方法概述> <br/>
* <方法详细概述> <br/>
* <版本> <br/>
* <作者> *
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
DoctorMain doctor=new DoctorMain();
doctor.setDoctor(true);
//上班了
doctor.setOnWork(true);
Thread th1=new Thread(doctor);

DoctorMain binRen=new DoctorMain();
binRen.setDoctor(false);

binRen.setOnWork(true);

Thread th2=new Thread(binRen);

th1.start();
th2.start();

try
{

Thread.sleep(60000);
doctor.setOnWork(false);
binRen.setOnWork(false);
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void run()
{
while (onWork)
{

try
{
//是医生还是病人
if (isDoctor)
{
// 医生给病人看病时间
Thread.sleep(2000);
if (!binRenDeque.isEmpty())
{
Integer number = binRenDeque.pollLast();
System.out.println("医生正在给" + number + "号病人看病");
}
}
else
{
//病人来的间隔时间
Thread.sleep((int)(Math.random()*3000));
binRenNumber++;
System.out.println("来了一个病人,号码是:"+binRenNumber);
binRenDeque.push(binRenNumber);
}

//列出所有等待的病人
for(Integer bn:binRenDeque)
{
System.out.println(bn+"号的病人在排队");
}
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

}
System.out.println("医生下班了");
}
public static Deque<Integer> getBinRenStack()
{
return binRenDeque;
}
public static void setBinRenStack(Deque<Integer> binRenStack)
{
DoctorMain.binRenDeque = binRenStack;
}
public boolean isOnWork()
{
return onWork;
}
public void setOnWork(boolean onWork)
{
this.onWork = onWork;
}
public boolean isDoctor()
{
return isDoctor;
}
public void setDoctor(boolean isDoctor)
{
this.isDoctor = isDoctor;
}
public static Integer getBinRenNumber()
{
return binRenNumber;
}
public static void setBinRenNumber(Integer binRenNumber)
{
DoctorMain.binRenNumber = binRenNumber;
}
}

java数据结构课程设计病人排队就诊问题!!!
代码,可以帮你搞的

  • 13756983661 :java数据结构课程设计病人排队就诊问题!!!
    隗瞿新5225 :答:System.out.println(bn+"号的病人在排队");
  • 13756983661 :课程设计题目,多线程编程:医院门诊模拟,想用java实现,求大神指点_百度...
    隗瞿新5225 :答:最后启动n个线程读队列,模拟办理业务的窗口;n个线程写队列,模拟病人排队。新线程库也有跟老线程库对应的方法,新线程库有线程安全的高效队列。没有上面麻烦,但上面写的是理解新线程数据结构与实现的基础。package com.zhidao;import java.util.LinkedList;import java.util.List;import java.util.Random...
  • 13756983661 :Java数组排序 几种排序方法详细一点
    隗瞿新5225 :答:JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。选择排序法是将数组的第一个数据作为最大或者最小的...
  • 13756983661 :数据结构(java版)
    隗瞿新5225 :答:package game24.datastructure.list;/** * 链表的结点 * @author luoweifu * */class Node{Object data;//数据元素Node next;//后驱结点public Node() {this(null);}public Node(Object data) {this.data = data;this.next = null;}}/** * 带头结点的链式链表,下标从0开始; * @author...
  • 13756983661 :JAVA数据结构:学生搭配问题,求教
    隗瞿新5225 :答:第一问可以帮你写写。import java.util.*;import java.io.*;class Dance { private static int N=0; private static int M=0; private static int K=0; private static boolean[] ArrN=null; private static boolean[] ArrM=null; private static Random ran=new Random(); private static ...
  • 13756983661 :数据结构 java开发中常用的排序算法有哪些
    隗瞿新5225 :答:对于数据量较小的情形,(1)(2)差别不大,主要考虑(3);而对于数据量大的,(1)为首要。 主要排序法有: 一、冒泡(Bubble)排序——相邻交换 二、选择排序——每次最小/大排在相应的位置 三、插入排序——将下一个插入已排好的序列中 四、壳(Shell)排序——缩小增量 五、归并排序 六、快速排序 七、堆排序 ...
  • 13756983661 :设计一种java数据结构,按照权重进行排序
    隗瞿新5225 :答:case Weights2:return s1.getWeights2() - s2.getWeights2();default:return s1.getNumber() - s2.getNumber();}}}import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import java.util.List; public class Student {private int number;private int weights1;...
  • 13756983661 :java冒泡排序法代码
    隗瞿新5225 :答:冒泡排序是比较经典的排序算法。代码如下:for(int i=1;i<arr.length;i++){for(int j=1;j<arr.length-i;j++){//交换位置}
  • 13756983661 :java 数据结构
    隗瞿新5225 :答:大哥,你这是数据库的问题.你要是想用数据结构来解决的话也行,但是数据要是想长久保存的话,还是存入数据库的好。既然学java就要有面向对象的思想。将学生看做一个对象,建立class student.将学号,姓名,成绩做为属性。学号与姓名用String存,成绩可以用Hashtable来存,至于排序就 得把所以student对象...
  • 13756983661 :用java实现对input.txt文件中的学号进行冒泡排序,从小到大,文件是以...
    隗瞿新5225 :答:1,先把input.txt文件读入一个数组或链表list 这一步你可以规划一下,为了后面2个步骤,链表的数据结构怎么弄,比如链表的每个元素应该有自己的索引序号(应该等于原文件中的行号),从文件中读到的学号。2,对这个链表list(数组)冒泡排序 这一步你可以参照任何网上的冒泡排序算法对list进行排序。其实...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网