医院管理系统(新手适用)

  • Post author:
  • Post category:其他


希望能写一些简单的教程和案例分享给需要的人

基于Java控制台的管理系统,适合新手入门练手使用

整体目录

Doctors.java 医生实体类

package hospital2;

public class Doctors {
	private String doctorID;      //编号
	private String doctorName;    //姓名
	private String deptment;      //科室
	private String professional;  //职称
	private int registerMoney;    //挂号费
    public Doctors(){   // 无参构造方法
 	   
    }
    public Doctors(String num,String name,String dept,String prof,int regM){   //有参构造方法
 	   doctorID=num;
 	   doctorName=name;
 	   deptment=dept;
 	   professional=prof;
 	   registerMoney=regM; 	   
    }
	public String getDoctorID() {
		return doctorID;
	}
	public void setDoctorID(String doctorID) {
		this.doctorID = doctorID;
	}
	public String getDoctorName() {
		return doctorName;
	}
	public void setDoctorName(String doctorName) {
		this.doctorName = doctorName;
	}
	public String getDeptment() {
		return deptment;
	}
	public void setDeptment(String deptment) {
		this.deptment = deptment;
	}
	public String getProfessional() {
		return professional;
	}
	public void setProfessional(String professional) {
		this.professional = professional;
	}
	public int getRegisterMoney() {
		return registerMoney;
	}
	public void setRegisterMoney(int registerMoney) {
		this.registerMoney = registerMoney;
	}
    
}

Patients.java 病人实体

package hospital2;

public class Patients {
	private String medicalRecordNum;      //病历编号
	private String patientName;           //姓名
	private String diagnoseDoctor;        //诊断医生
	private String medicalContent;        //诊断内容
  //  public String prescriptionID;        //药方编号
  //  public double medicinalMoney;        //药品费用
  //  public int registerMoney;            //挂号费用
     public Patients() {//无参构造方法
		super();
		// TODO Auto-generated constructor stub
	}
    public Patients (String num,String name,String doc,String med){//有参构造方法
    	medicalRecordNum=num;
    	patientName=name;
    	diagnoseDoctor=doc;
    	medicalContent=med;
    }
   
	public String getMedicalRecordNum() {
		return medicalRecordNum;
	}
	public void setMedicalRecordNum(String medicalRecordNum) {
		this.medicalRecordNum = medicalRecordNum;
	}
	public String getPatientName() {
		return patientName;
	}
	public void setPatientName(String patientName) {
		this.patientName = patientName;
	}
	public String getDiagnoseDoctor() {
		return diagnoseDoctor;
	}
	public void setDiagnoseDoctor(String diagnoseDoctor) {
		this.diagnoseDoctor = diagnoseDoctor;
	}
	public String getMedicalContent() {
		return medicalContent;
	}
	public void setMedicalContent(String medicalContent) {
		this.medicalContent = medicalContent;
	}
	public void Saves(String num,String name){
    	medicalRecordNum=num;
    	patientName=name;
    }
    
    
    
}

Medicinals.java 药品实体类

package hospital2;

public class Medicinals {
	private String medicinalNum;      //药品编号
	private String medicinalName;     //药品名称
	private int price;                //零售价
	private int quantity;             //数量
     public Medicinals(){  //无参构造方法
         
     }
     public Medicinals(String num,String name,int prices,int quan){  //有参构造方法
    	 medicinalNum=num;
    	 medicinalName=name;
    	 price=prices;
    	 quantity=quan;
         
     }
	public String getMedicinalNum() {
		return medicinalNum;
	}
	public void setMedicinalNum(String medicinalNum) {
		this.medicinalNum = medicinalNum;
	}
	public String getMedicinalName() {
		return medicinalName;
	}
	public void setMedicinalName(String medicinalName) {
		this.medicinalName = medicinalName;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public int getQuantity() {
		return quantity;
	}
	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}
     
}

Prescriptions.java 药方实体类

package hospital2;

public class Prescriptions {
	private String prescriptionID;        //药方编号
	private String doctorName;            //开药医生姓名
	private String patientName;           //病人姓名
	private String medicinalName1;        //药品1
	private int quantity1;                //药品1数量
	private String medicinalName2;        //药品2
	private int quantity2;                //药品2数量
	private String medicinalName3;        //药品3
	private int quantity3;                //药品3数量
	   public Prescriptions(){  //无参构造方法
		   
	   }
	   public Prescriptions(String num,String docName,String patName,String medName1,int quan1,String medName2,int quan2,String medName3,int quan3){
		   prescriptionID=num;
		   doctorName=docName;
		   patientName=patName;
		   medicinalName1=medName1;
		   quantity1=quan1;
		   medicinalName2=medName2;
		   quantity2=quan2;
		   medicinalName3=medName3;
		   quantity3=quan3;
	   }
	public String getPrescriptionID() {
		return prescriptionID;
	}
	public void setPrescriptionID(String prescriptionID) {
		this.prescriptionID = prescriptionID;
	}
	public String getDoctorName() {
		return doctorName;
	}
	public void setDoctorName(String doctorName) {
		this.doctorName = doctorName;
	}
	public String getPatientName() {
		return patientName;
	}
	public void setPatientName(String patientName) {
		this.patientName = patientName;
	}
	public String getMedicinalName1() {
		return medicinalName1;
	}
	public void setMedicinalName1(String medicinalName1) {
		this.medicinalName1 = medicinalName1;
	}
	public int getQuantity1() {
		return quantity1;
	}
	public void setQuantity1(int quantity1) {
		this.quantity1 = quantity1;
	}
	public String getMedicinalName2() {
		return medicinalName2;
	}
	public void setMedicinalName2(String medicinalName2) {
		this.medicinalName2 = medicinalName2;
	}
	public int getQuantity2() {
		return quantity2;
	}
	public void setQuantity2(int quantity2) {
		this.quantity2 = quantity2;
	}
	public String getMedicinalName3() {
		return medicinalName3;
	}
	public void setMedicinalName3(String medicinalName3) {
		this.medicinalName3 = medicinalName3;
	}
	public int getQuantity3() {
		return quantity3;
	}
	public void setQuantity3(int quantity3) {
		this.quantity3 = quantity3;
	}
	   
	  
}

Index.java 启动类

package hospital2;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.List;
public class Index {

	/**
	 * @param args
	 */
	//使用对象数组,将医院所有医生的信息存入对象数组中
	static Doctors []doc={new Doctors("1001","林红","儿科","助理医师",2),new Doctors("1002","陈明","儿科","医师",3),
			new Doctors("1003","李建国","儿科","主任医师",8),new Doctors("2001","张梅","内科","医师",3),new Doctors("2002","李强","内科","专家",20)};
	//将医院所有药品存入对象数组中 
	static Medicinals []med={new Medicinals("1001","去痛片",10,100),new Medicinals("1001","消炎药",21,50),new Medicinals("1001","感冒通",15,40),
		 new Medicinals("1001","咳必清",32,50),new Medicinals("1001","红花油",19,70),new Medicinals("1001","风油精",25,30)};
	//定义病人集合,以便将挂号病人存入集合中 
	static	List<Patients> list = new ArrayList<Patients>();
	//定义处方集合,以便医生所开处方存入集合中
	 static	List<Prescriptions> list2 = new ArrayList<Prescriptions>();
     static int num = -1; // 用户输入0返回主菜单,否则退出系统
	 static boolean isExit = false; // 标志用户是否退出系统: true:退出系统
	 static int index=0;	//外部变量
	 static int prenum=0;
	public static void main(String[] args) {
		System.out.println("\n欢迎使用“医院管理系统”");
		// 循环:显示菜单,根据用户选择的数字执行相应功能
		do {		
			System.out.println("****************************");
			System.out.println(" 请选择角色:");
			System.out.println(" 1. 病人");
			System.out.println(" 2. 医生");
			System.out.println(" 3. 退出系统");
			System.out.println("****************************");
			System.out.print(" 请选择:");
			Scanner input= new Scanner(System.in);
			int choose = input.nextInt(); // 记录用户选择的功能编号
			switch (choose) {
			case 1:
				goPatient();break;
			case 2:
				goDoctor();break;
			case 3:
				isExit = true;
				break;
			default:
					isExit = true;
					break;
			}
			if (!isExit) {
				System.out.println("输入0返回:");
				num = input.nextInt();
			}
		}
			while (num == 0);
			System.out.println("谢谢使用,欢迎下次光临!");
	}
	//处理病人的方法
	static void goPatient(){
		String patName;
		index++;
		String strNum=String.valueOf(index);  //将整形序号转换为字符串
		Scanner input2= new Scanner(System.in);
		System.out.println("欢迎您到我们医院就诊,请输入您的姓名:");
		patName=input2.next();
		System.out.println("****************************");
		System.out.println(" 请选择挂号科室:");
		System.out.println(" 1. 儿科");
		System.out.println(" 2. 内科");
		System.out.println(" 3. 返回");
		System.out.println("****************************");
		System.out.print("请选择:");
		Scanner inName=new Scanner(System.in);
		Scanner input = new Scanner(System.in);
		int choose = input.nextInt(); // 记录用户选择的功能编号
		switch (choose) {
		case 1:
			System.out.println("****************************");
			System.out.println(" 请选择挂号医生:");
			for(int i=0;i<doc.length ;i++){     //利用数组将儿科医生全部输出
		       if(doc[i].getDeptment()=="儿科"){
				  System.out.println(doc[i].getDoctorID() +"  "+doc[i].getDoctorName()+"       职称:"+doc[i].getProfessional() +"        挂号费:"+doc[i].getRegisterMoney() +"元" );
		       }
			}	
			System.out.println("****************************");			
			System.out.print("请选择医生:");
			String docName=inName.next();
			list.add(new Patients(strNum,patName,docName,""));    //将序号、病人、看病医生存入集合中
			break;
		case 2:
			System.out.println("****************************");
			System.out.println(" 请选择挂号医生:");
			for(int i=0;i<doc.length ;i++){     //利用数组将内科医生全部输出
		       if(doc[i].getDeptment()=="内科"){
		    	   System.out.println(doc[i].getDoctorID() +"  "+doc[i].getDoctorName()+"       职称:"+doc[i].getProfessional() +"        挂号费:"+doc[i].getRegisterMoney() +"元" );
		       }
			}	
			System.out.println("****************************");
			System.out.print("请选择医生:");
			docName=inName.next();
			list.add(new Patients(strNum,patName,docName,""));    //存储序号,病人及医生
		break;
		}
		for(Patients m:list) {     //利用循环将存入病人集合中的病人显示出来
			 System.out.println("序号:"+m.getMedicalRecordNum()+".  病人姓名:"+m.getPatientName()+"   看病医生:"+m.getDiagnoseDoctor() );	
		}
	}
	//处理医生的方法
	static void goDoctor(){
		Scanner docinput = new Scanner(System.in);
		System.out.println("医生,您好,请输入您的姓名:");
		String docName=docinput.next();
		System.out.println("****************************");
		System.out.println("请选择操作:");
		System.out.println("1. 诊断");
		System.out.println("2. 开药");
		System.out.println("3. 返回");
		System.out.println("****************************");
		System.out.print("请选择:");
		Scanner input = new Scanner(System.in);
		int choose = input.nextInt();
		switch (choose) {
		case 1:
			System.out.println("****************************");	
			String medNum="";	
			for(Patients m:list) {        //利用循环将存入病人集合中的病人显示出来
				if(m.getDiagnoseDoctor().equals(docName)){  
					medNum=m.getMedicalRecordNum();
					 System.out.println(m.getMedicalRecordNum()+".  "+m.getPatientName());	
				}
			}
			Scanner input2 = new Scanner(System.in);
			System.out.println("请输入病人姓名:"); 
			String patName=input2.next();
			for(Patients m1:list) {   //利用循环查找符合条件的病人
				if(m1.getPatientName().equals(patName)){
				     System.out.println("请输入病历内容:"); 
			         String medRoc=input2.next();
			         list.set(0,new Patients(medNum,patName,docName,medRoc));//修改病人的信息,添加病历内容
			         System.out.println("需要开药?请输入0:"); 
			         int Answ=input2.nextInt();
			         if(Answ==0)
			        	 for(int i=0;i<med.length ;i++){
			        		 System.out.println((i+1)+".      "+med[i].getMedicinalName() +"        "+med[i].getPrice() +"元");
			        	 }
			          int k=0;    //生成药品序列
			         
			          String [] medNameA={"","",""};
			          int []medNum2={0,0,0};
			          prenum++;
			          String preNum="100"+String.valueOf(prenum);
			         do{	        	 
			              System.out.println("请输入第"+(k+1)+"药品的名称:"); 
			              medNameA[k]=input2.next();
			              System.out.println("请输入第"+(k+1)+"药品的数量:"); 
			              medNum2[k]=input2.nextInt();
			              System.out.println("继续开药请输入0:");
			              Answ=input2.nextInt();
			              k++;
			             } while(Answ==0 && k<=2); 
			         list2.add(new Prescriptions(preNum,docName,patName,medNameA[0],medNum2[0],medNameA[1],medNum2[1],medNameA[2],medNum2[2]));
			         break;
			     }
				else{
					System.out.println("没有挂您号的病人:"); 
					break;
				  }
				
				}
			for(Patients m2:list) {     //利用循环将存入病人集合中的病人显示出来
				if(m2.getPatientName().equals(patName)){
					 System.out.println("序号:"+m2.getMedicalRecordNum()+".  病人姓名:"+m2.getPatientName()+"   看病医生:"+m2.getDiagnoseDoctor()+"    病历内容:"+m2.getMedicalContent()  );	
				   }
				}
			for(Prescriptions m2:list2) {     //利用循环将病人的药方显示出来
				if(m2.getPatientName().equals(patName)){
					 System.out.println("序号:"+m2.getPrescriptionID()+".  病人姓名:"+m2.getPatientName()+"   开药医生:"+m2.getDoctorName()+"    药品1:"+m2.getMedicinalName1()+" "+m2.getQuantity1()+"盒;     药品2:"+m2.getMedicinalName2()+" "+m2.getQuantity2()+"盒;    药品:"+m2.getMedicinalName3()+"  "+m2.getQuantity3()+"盒;");	
				   }
			}
            break;
		case 2:
			Scanner input3 = new Scanner(System.in);
			int Answ;
	//		String medNum1="";	
			for(Patients m:list) {        //利用循环将存入病人集合中的病人显示出来
				if(m.getDiagnoseDoctor().equals(docName)){  
			//		medNum1=m.medicalRecordNum;
					 System.out.println(m.getMedicalRecordNum()+".  "+m.getPatientName());	
				}
			}
			System.out.println("请输入病人姓名:");
			String patName1=input3.next();
			 for(int i=0;i<med.length ;i++){
        		 System.out.println((i+1)+".      "+med[i].getMedicinalName() +"        "+med[i].getPrice() +"元");
        	 }
          int k=0;    //生成药品序列
         
          String [] medNameA={"","",""};
          int []medNum2={0,0,0};
          prenum++;
          String preNum="100"+String.valueOf(prenum);
         do{	        	 
              System.out.println("请输入第"+(k+1)+"药品的名称:"); 
              medNameA[k]=input3.next();
              System.out.println("请输入第"+(k+1)+"药品的数量:"); 
              medNum2[k]=input3.nextInt();
              System.out.println("继续开药请输入0:");
              Answ=input3.nextInt();
              k++;
             } while(Answ==0 && k<=2); 
         list2.add(new Prescriptions(preNum,docName,patName1,medNameA[0],medNum2[0],medNameA[1],medNum2[1],medNameA[2],medNum2[2]));
         for(Prescriptions m2:list2) {     //利用循环将病人的药方显示出来
        	 if(m2.getPatientName().equals(patName1)){
				 System.out.println("序号:"+m2.getPrescriptionID()+".  病人姓名:"+m2.getPatientName()+"   开药医生:"+m2.getDoctorName()+"    药品1:"+m2.getMedicinalName1()+" "+m2.getQuantity1()+"盒;     药品2:"+m2.getMedicinalName2()+" "+m2.getQuantity2()+"盒;    药品:"+m2.getMedicinalName3()+"  "+m2.getQuantity3()+"盒;");	
			   }
			}
         break;
		case 3:
			isExit = true;
			break;
			default:
				isExit = true;
				break;
		}
	}

}

效果图

java 写的控制台学生管理系统,只有简单的增删改查排序功能

供新手学习交流



版权声明:本文为weixin_45686984原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。