希望能写一些简单的教程和案例分享给需要的人
基于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 版权协议,转载请附上原文出处链接和本声明。