题目:
需求:模拟病人到医院排队看病的情况。
数据要求:病人编号、姓名、性别、年龄。
功能要求:
(1)排队——病人把病历本交到护士手中,进行排队。
(2)就诊——病人排队队列中最前面的病人就诊,并将其从队列中删除。
(3)查看排队——显示所有排队病人的信息。
(4)下班——停止排队。
思路:
用一个简单的链式队列,来作为进行医院排队的数据结构,再设计一个病人类来存储病人的简要信息
代码实现:
import java.util.*; public class callzyh { @SuppressWarnings({"all"}) public static void main(String[] args) { linkQueue queue = new linkQueue(); Scanner scanner=new Scanner(System.in); while (true){ System.out.println("————医院病人排队就诊系统主菜单————"); System.out.println("1.添加病人排队"); System.out.println("2.当前就诊病人信息"); System.out.println("3.查看所有排队病人信息"); System.out.println("4.删除排队病人信息"); System.out.println("5.停止排队,退出系统"); System.out.println("请输入序号选择相应功能"); int choice =scanner.nextInt(); switch (choice){ case 1: Scanner input=new Scanner(System.in); System.out.println("请输入病人姓名:"); String bname = input.next(); System.out.println("请输入病人性别:"); String bsex = input.next(); System.out.println("请输入病人年龄:"); int bage = input.nextInt(); System.out.println("请输入病人编号:"); int bnumber = input.nextInt(); Patient patient1=new Patient(bname,bsex,bage,bnumber); queue.enQueue(patient1); System.out.println("排队信息添加成功!"); break; case 2: System.out.println("当前患者队列中应就诊的是:"+queue.jiuzhen()); break; case 3: System.out.println("————当前所有排队患者信息————:"); queue.findline(); break; case 4: queue.shanchu(); break; case 5: System.out.println("医院已下班!"); System.exit(0); System.out.println("已退出"); default: System.out.println("请输入正确的选择[1-5]!"); break; } } } } class Patient{ int Pnumber; String Pname; String Psex; int Page; public Patient() {} public Patient(String pname,String psex,int page,int pnumber) { Pname = pname; Psex = psex; Page = page; Pnumber = pnumber; } @Override public String toString() { return "病人信息:n姓名:" + Pname + ", 性别:" + Pname + ", 年龄:" +Page+ ",编号" + Pnumber + "n"; } } class linkQueue{ public static final String ToString = null; private Node front; private Node rear; public linkQueue(){ front = null; rear = null; } public void enQueue(T Patient){ Node node = new Node (Patient, null); if(front == null){ front = node; }else{ rear.next = node; } rear = node; } public T shanchu(){ if(front==rear) { System.out.println("无病人看诊"); return null; } T p=front.data; front=front.next; if(front==null) this.rear=null; return p; } public void findline() { if(front==rear) { System.out.println("无病人看诊!"); return; } else{ Node p = front; while (p != rear) { System.out.print(p.data + " "); p = p.next; } System.out.print(p.data + " "); } } public T jiuzhen(){ if(front != null){ return front.data; } return null; } public boolean isEmpty(){ return this.front == this.rear; } public String toString() { return "linkQueue [front=" + front + ", rear=" + rear + "]"; } private static class Node { T data; Node next; private Node(T data, Node next) { this.data = data; this.next = next; } }
注:
此文章是提供一种在JAVA中最基础的项目,一个比较简单易上手的利用数据结构存储数据的例子,如有错误,请指正。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)