用java实现医院床位信息管理 设计一个医院床位信息管理系统,能够实现病人信息(床位号、姓名、性别、年龄、病类)的增加、删 除、修改、查询以及更新功能。最后,将病人住院信息保存在out.txt
时间: 2023-07-10 13:13:07 浏览: 210
好的,这是一个非常典型的Java应用程序,我们需要使用Java的面向对象编程思想来实现这个医院床位信息管理系统。
首先,我们需要设计一个Patient(病人)类来存储病人的信息,包括床位号、姓名、性别、年龄和病类。在Java中,我们可以使用以下代码来定义Patient类:
```
public class Patient {
private int bedNumber;
private String name;
private String gender;
private int age;
private String disease;
public Patient(int bedNumber, String name, String gender, int age, String disease) {
this.bedNumber = bedNumber;
this.name = name;
this.gender = gender;
this.age = age;
this.disease = disease;
}
// 省略 getter 和 setter 方法
}
```
接下来,我们需要设计一个Bed(床位)类来表示医院的床位,包括床位号、是否有病人和病人信息。在Java中,我们可以使用以下代码来定义Bed类:
```
public class Bed {
private int bedNumber;
private boolean hasPatient;
private Patient patient;
public Bed(int bedNumber) {
this.bedNumber = bedNumber;
this.hasPatient = false;
this.patient = null;
}
// 省略 getter 和 setter 方法
}
```
然后,我们需要设计一个Hospital(医院)类来管理所有的床位和病人信息。在Java中,我们可以使用以下代码来定义Hospital类:
```
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Hospital {
private List<Bed> beds;
public Hospital(int bedCount) {
this.beds = new ArrayList<>();
for (int i = 0; i < bedCount; i++) {
beds.add(new Bed(i + 1));
}
}
// 增加病人信息
public void addPatient(int bedNumber, String name, String gender, int age, String disease) {
Bed bed = getBedByNumber(bedNumber);
if (bed != null && !bed.hasPatient()) {
Patient patient = new Patient(bedNumber, name, gender, age, disease);
bed.setPatient(patient);
}
}
// 删除病人信息
public void removePatient(int bedNumber) {
Bed bed = getBedByNumber(bedNumber);
if (bed != null && bed.hasPatient()) {
bed.setPatient(null);
}
}
// 修改病人信息
public void updatePatient(int bedNumber, String name, String gender, int age, String disease) {
Bed bed = getBedByNumber(bedNumber);
if (bed != null && bed.hasPatient()) {
Patient patient = new Patient(bedNumber, name, gender, age, disease);
bed.setPatient(patient);
}
}
// 查询病人信息
public Patient getPatient(int bedNumber) {
Bed bed = getBedByNumber(bedNumber);
if (bed != null && bed.hasPatient()) {
return bed.getPatient();
}
return null;
}
// 更新病人信息到文件
public void updateToFile(String fileName) {
try {
FileWriter writer = new FileWriter(fileName);
for (Bed bed : beds) {
if (bed.hasPatient()) {
Patient patient = bed.getPatient();
writer.write(patient.getBedNumber() + "," + patient.getName() + "," + patient.getGender() + "," + patient.getAge() + "," + patient.getDisease() + "\n");
}
}
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 获取指定床位号的床位
private Bed getBedByNumber(int bedNumber) {
for (Bed bed : beds) {
if (bed.getBedNumber() == bedNumber) {
return bed;
}
}
return null;
}
}
```
最后,我们可以编写一个测试程序来测试我们的医院床位信息管理系统,如下所示:
```
public class Test {
public static void main(String[] args) {
Hospital hospital = new Hospital(100);
hospital.addPatient(1, "张三", "男", 30, "感冒");
hospital.addPatient(2, "李四", "女", 40, "发烧");
hospital.addPatient(3, "王五", "男", 50, "胃病");
Patient patient = hospital.getPatient(2);
if (patient != null) {
System.out.println(patient.getName() + " 的床位号是 " + patient.getBedNumber());
}
hospital.updatePatient(2, "赵六", "男", 35, "头痛");
hospital.removePatient(3);
hospital.updateToFile("out.txt");
}
}
```
这个测试程序首先创建一个100个床位的医院,然后向床位1、2、3添加病人信息,查询床位2的病人信息,修改床位2的病人信息,删除床位3的病人信息,最后将所有病人信息保存到out.txt文件中。
以上就是一个基本的医院床位信息管理系统的设计和实现。
阅读全文