一、实验目的
通过实现一个基于Java控制台的医院患者信息录入模块来模拟患者基础信息的录入、保存以及查询过程,提升我们对Java命令行控制程序的理解和应用能力。
二、实验学时
2学时
三、实验类型
验证性
四、实验需求
1、硬件
每人配备计算机1台,建议优先使用个人计算机开展实验。
2、软件
安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。
3、网络
本地主机能够访问互联网。
4、工具
无。
五、实验任务
设计一个医院患者信息录入模块,该系统能够实现以下功能:
- 通过控制台录入来模拟患者信息登记。
- 患者信息包括姓名、身份证号码、手机号、地址等。
- 患者信息可以连续录入采集。
- 患者信息在每次录入后可以保存在本地文本文件中。
- 输入 'exit' 可退出当前录入系统。
- 输入 'print' 打印输出目前库中所有患者,并退出当前系统。
六、实验内容及步骤
1、创建患者类Patient
患者属性:包含患者姓名、患者身份证号码、患者手机号、患者住址。
package org.forhis.chapter_12;
public class Patient {
private String name;
// Todo: 第一步: 实现其他属性以及get,set方法,构造函数等
}
2、开发患者信息连续录入功能
功能描述:可通过Scanner类来实现连续录入患者基础信息。
package org.forhis.chapter_12;
import java.io.*;
import java.util.*;
public class TextFileDatabase {
private static final String FILE_PATH = "database.txt";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Todo: 第二步: 实现连续录入功能
}
}
3、开发患者信息保存功能
功能描述:通过BufferedWriter类将每次录入的患者信息保存到文本文件中。
注意:每一行一条患者信息,患者信息属性用","分割。
package org.forhis.chapter_12;
import java.io.*;
import java.util.*;
public class TextFileDatabase {
private static final String FILE_PATH = "database.txt";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Todo: 第二步: 实现连续录入功能
}
public static void addPatient(Patient patient) {
// Todo: 第三步: 实现患者信息保存到本地文本文件的功能
}
}
4、开发患者信息打印输出功能
功能描述:输入 'print' 在控制台中打印输出目前库中所有患者。
package org.forhis.chapter_12;
import java.io.*;
import java.util.*;
public class TextFileDatabase {
private static final String FILE_PATH = "database.txt";
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Todo: 第二步: 实现连续录入功能
}
public static void addPatient(Patient patient) {
// Todo: 第三步: 实现患者信息保存到本地文本文件的功能
}
public static void printAllPatients() {
// Todo: 第四步: 实现患者信息在命令行打印输出功能
}
}
七、实验考核
本实验考核采用【实验随堂查】方式开展。
每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。
每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。
实验考核流程:
(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。
(2)指导老师结合实验内容进行提问,每位学生提问2-3个问题,根据回答的情况现场打分。
(3)实验考核结束后,进行公布成绩。