您的位置:首页 > 其它

医院门诊管理系统--华为OJ

2016-08-25 20:39 148 查看
题目具体要求参见华为OJ

import java.util.*;

public class Main {

public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
Patient[] patients = new Patient[6];
patients[0] = new Patient("pat01", 0, 100, 0);
patients[1] = new Patient("pat02", 1, 100, 100);
patients[2] = new Patient("pat03", 0, 100, 0);
patients[3] = new Patient("pat04", 1, 100, 50);
patients[4] = new Patient("pat05", 1, 10, 10);
patients[5] = new Patient("pat06", 1, 20, 10);
int Guahaofee = 10; //挂号费
int Chufangfee = 50; //处方费
LinkedList<Patient> queue = new LinkedList<>();
String[] s = sc.nextLine().split(",");
System.out.println("E000");
for(int i =1;i<s.length;i++){
/*挂号*/
if(s[i].subSequence(0, 3).equals("reg")){
String s1 = s[i].substring(4);
int num = Integer.valueOf(s1.substring(4));
if(patients[num-1].state==1||patients[num-1].state==2){
System.out.println("E002");
}
else if(queue.size()>3){
System.out.println("E003");
}
else{
if(patients[num-1].type==1){ //有社保
if(patients[num-1].SheBao>=Guahaofee){
patients[num-1].SheBao -= Guahaofee;
patients[num-1].state = 1;
queue.add(patients[num-1]);
System.out.println("E001");
}
else if(patients[num-1].cush>=Guahaofee){
patients[num-1].cush -= Guahaofee;
patients[num-1].state = 1;
queue.add(patients[num-1]);
System.out.println("E001");
}
else {
System.out.println("E004");
}
}
else{ //无社保
if(patients[num-1].cush>=Guahaofee){
patients[num-1].cush-=Guahaofee;
patients[num-1].state = 1;
queue.add(patients[num-1]);
System.out.println("E001");
}
else {
System.out.println("E004");
}
}

}

}
/*挂号结束*/
/*就诊*/
else if(s[i].substring(0, 4).equals("diag")){
if(queue.size()==0){
System.out.println("E006");
}
else{
Patient tmppatient = queue.poll();
tmppatient.state = 2; //处于代缴费状态
System.out.println("E005");
}
}
/*就诊结束*/
/*缴费*/
else if(s[i].substring(0, 3).equals("pay")){
String s1 = s[i].substring(4);
int num = Integer.valueOf(s1.substring(4));
if(patients[num-1].state!=2){
System.out.println("E014");
}
else{
patients[num-1].state = 0;
if(patients[num-1].type==1){ //有社保
if(patients[num-1].SheBao>=Chufangfee){
patients[num-1].SheBao -= Chufangfee;
System.out.println("E007");
}
else if(patients[num-1].cush>=Chufangfee){
patients[num-1].cush -= Chufangfee;
System.out.println("E007");
}
else {
System.out.println("E008");
}
}
else{ //无社保
if(patients[num-1].cush>=Chufangfee){
patients[num-1].cush-=Chufangfee;
System.out.println("E007");
}
else {
System.out.println("E008");
}
}
}
}
/*缴费结束*/
/*查询开始*/
else if(s[i].substring(0, 2).equals("qu")){
String[] s1 = s[i].split("_");
if(s1[1].charAt(0)=='0'){ //查询排队情况
System.out.print("E013:dct ");
if(queue.size()==0)
System.out.println("0");
else{
for(int j = 0;j<queue.size()-1;j++){
System.out.print(queue.get(j).id+" ");
}
System.out.println(queue.get(queue.size()-1).id);
}
}
else if(s1[1].charAt(0)=='1'){ //查询病人
int num = Integer.valueOf(s1[1].substring(s1[1].length()-1));
System.out.print("E012:pat0"+num+" ");
switch (patients[num-1].state) {
case 2:
System.out.println(2+" "+patients[num-1].SheBao+","+patients[num-1].cush);
break;
case 1:
System.out.println(1+" "+(queue.indexOf(patients[num-1])+1)+","+patients[num-1].SheBao+","+patients[num-1].cush);
break;
case 0:
System.out.println(0+" "+patients[num-1].SheBao+","+patients[num-1].cush);
break;
default:
break;
}
}
}
}

}
}
class Patient{
public String id;
public int type;
public int cush;
public int SheBao;
public int state;

Patient(String id,int type,int cush,int SheBao){
this.id = id;
this.type = type;
this.cush = cush;
this.SheBao = SheBao;
this.state = 0;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  华为OJ