Java基礎 - 模擬醫院掛號系統

模擬醫院掛號系統功能

1. 科室管理:新增科室,刪除科室(如果有醫生在,則不能刪除該科室),修改科室

2. 醫生管理:錄入醫生信息以及科室信息,修改醫生信息(主要是修改個人信息和科室)

3. 坐診信息設置:可以設置醫生當天和未來6天的坐診情況,包括上午和下午的坐診時間段和可預約數量,系統將自動保存到該醫生的坐診信息列表中

4. 全部信息展示:按照科室,展示每個醫生七天的坐診情況,需要按照科室歸類展示

5. 預約功能:用戶可以選擇要預約的科室,醫生、日期和時間段,并輸入患者的個人信息,系統將激動判斷該時間段是否還有預約名額,并保存預約信息

6. 搜索功能:用戶可以輸入搜索日期和時間段,系統將自動搜索未來七天內在該時間段坐診的醫生信息,并按照科室分類展示

7. 可以查詢某個醫生未來7天,病人對他的預約情況

//App
public class App {public static void main(String[] args) {//創建一個醫院管理對象HospitalManager h = new HospitalManager();h.start();}
}
//Doctor
//醫生類
public class Doctor {private String doctorId;  //編號(唯一)private String name;  //姓名private String departmentName;  //科室名稱private String gender;  //性別private int age;  //年齡private String specialty;  //主治方向private LocalDate joinDate;  //入職時間private ArrayList<Schedule> schedules = new ArrayList<>();  //7天坐診情況public Doctor() {}public Doctor(String doctorId, String name, String departmentName, String gender, int age, String specialty, LocalDate joinDate, ArrayList<Schedule> schedules) {this.doctorId = doctorId;this.name = name;this.departmentName = departmentName;this.gender = gender;this.age = age;this.specialty = specialty;this.joinDate = joinDate;this.schedules = schedules;}public String getDoctorId() {return doctorId;}public void setDoctorId(String doctorId) {this.doctorId = doctorId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getDepartmentName() {return departmentName;}public void setDepartmentName(String departmentName) {this.departmentName = departmentName;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSpecialty() {return specialty;}public void setSpecialty(String specialty) {this.specialty = specialty;}public LocalDate getJoinDate() {return joinDate;}public void setJoinDate(LocalDate joinDate) {this.joinDate = joinDate;}public ArrayList<Schedule> getSchedules() {return schedules;}public void setSchedules(ArrayList<Schedule> schedules) {this.schedules = schedules;}
}
//Department
//科室類
public class Department {private String name;private ArrayList<Doctor> doctors = new ArrayList<>();public Department() {}public Department(String name, ArrayList<Doctor> doctors) {this.name = name;this.doctors = doctors;}public String getName() {return name;}public void setName(String name) {this.name = name;}public ArrayList<Doctor> getDoctors() {return doctors;}public void setDoctors(ArrayList<Doctor> doctors) {this.doctors = doctors;}
}
//Schedule
//醫生坐診情況類
public class Schedule {private LocalDate today;  //當天日期private boolean update = false;  //是否排班(默認未排班false)//上午private boolean morning;  //是否看診private LocalTime mStart;  //上午開始時間private LocalTime mEnd;  //上午結束時間private int mTotalNum;  //上午可預約人數private int mAppointNum;  //上午已預約人數//下午private boolean afternoon;  //是否看診private LocalTime aStart;  //下午開始時間private LocalTime aEnd;  //下午結束時間private int aTotalNum;  //下午可預約人數private int aAppointNum;  //下午已預約人數public Schedule() {}public Schedule(LocalDate today, boolean update, boolean morning, LocalTime mStart, LocalTime mEnd, int mTotalNum, int mAppointNum, boolean afternoon, LocalTime aStart, LocalTime aEnd, int aTotalNum, int aAppointNum) {this.today = today;this.update = update;this.morning = morning;this.mStart = mStart;this.mEnd = mEnd;this.mTotalNum = mTotalNum;this.mAppointNum = mAppointNum;this.afternoon = afternoon;this.aStart = aStart;this.aEnd = aEnd;this.aTotalNum = aTotalNum;this.aAppointNum = aAppointNum;}public boolean isUpdate() {return update;}public void setUpdate(boolean update) {this.update = update;}public LocalDate getToday() {return today;}public void setToday(LocalDate today) {this.today = today;}public boolean isMorning() {return morning;}public void setMorning(boolean morning) {this.morning = morning;}public LocalTime getmStart() {return mStart;}public void setmStart(LocalTime mStart) {this.mStart = mStart;}public LocalTime getmEnd() {return mEnd;}public void setmEnd(LocalTime mEnd) {this.mEnd = mEnd;}public int getmTotalNum() {return mTotalNum;}public void setmTotalNum(int mTotalNum) {this.mTotalNum = mTotalNum;}public int getmAppointNum() {return mAppointNum;}public void setmAppointNum(int mAppointNum) {this.mAppointNum = mAppointNum;}public boolean isAfternoon() {return afternoon;}public void setAfternoon(boolean afternoon) {this.afternoon = afternoon;}public LocalTime getaStart() {return aStart;}public void setaStart(LocalTime aStart) {this.aStart = aStart;}public LocalTime getaEnd() {return aEnd;}public void setaEnd(LocalTime aEnd) {this.aEnd = aEnd;}public int getaTotalNum() {return aTotalNum;}public void setaTotalNum(int aTotalNum) {this.aTotalNum = aTotalNum;}public int getaAppointNum() {return aAppointNum;}public void setaAppointNum(int aAppointNum) {this.aAppointNum = aAppointNum;}
}
//Appointment
//患者預約信息類
public class Appointment {private String userName;  //患者姓名private String sex;  //患者性別private int age;  //患者年齡private String tel;  //患者電話private String desc;  //病情描述private String departmentName;  //掛號科室private String doctorId;  //看診醫生idprivate LocalDateTime appointDateTime;  //預約時間public Appointment() {}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}pu

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719351.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719351.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719351.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux設備模型(九) - bus/device/device_driver/class

一&#xff0c;設備驅動模型 1&#xff0c;概述 在前面寫的驅動中&#xff0c;我們發現編寫驅動有個固定的模式只有往里面套代碼就可以了&#xff0c;它們之間的大致流程可以總結如下&#xff1a; 實現入口函數xxx_init()和卸載函數xxx_exit() 申請設備號 register_chrdev_r…

Spring源碼:手寫SpringDI

我們是在實現了SpringIOC的基礎上&#xff0c;進行拓展&#xff0c;IOC實現源碼可以查看&#xff1a;手寫SpringIOC 文章目錄 一、分析二、實現1、構造注入1&#xff09;分析2&#xff09;版本1BeanReferenceBeanDefinitionGenericBeanDefinitionDefaultBeanFactory1、改造構造…

install Ubuntu again

參考鏈接&#xff1a;Windows 下安裝 Ubuntu 雙系統(更新) - duan22677 - 博客園 這里的總的空間是120G 它里面指出雙系統的時候&#xff0c;/boot 應該是主分區 參考鏈接&#xff1a;win10下安裝Ubuntu16.04雙系統_windows10安裝引導ubuntu-CSDN博客 這里面講到了&#xf…

ES入門六:Suggesters Api實踐

都是負擔在很多app上&#xff0c;當我們輸入某些內容時候&#xff0c;它會立即做一些補全操作&#xff0c;如果我想實現上述的需求&#xff0c;我們就可以使用ES提供的Suggesters Api。那Suggesters是如何做到的那&#xff1f;簡單來說&#xff0c;Suggesters會將輸入的文本拆分…

【網站項目】167固定資產管理系統

&#x1f64a;作者簡介&#xff1a;擁有多年開發工作經驗&#xff0c;分享技術代碼幫助學生學習&#xff0c;獨立完成自己的項目或者畢業設計。 代碼可以私聊博主獲取。&#x1f339;贈送計算機畢業設計600個選題excel文件&#xff0c;幫助大學選題。贈送開題報告模板&#xff…

誰才是“內卷”之王?眾多洗地機品牌哪家清潔力最強?清潔最干凈?

在如今快節奏的生活中&#xff0c;家庭清潔工作愈發顯得繁瑣而耗時。添可洗地機憑借其高效的一體化清潔功能和智能化操作&#xff0c;為現代家庭生活帶來了極大的便利。面對眾多款品牌洗地機型號&#xff0c;消費者不禁會問&#xff1a;哪家洗地機清潔力最強&#xff1f;在性能…

解決tomcat雙擊startup.bat一閃而過的問題

這種問題可能是tomcat找不到你的jdk環境配置路徑 1、首先在tomcat的bin文件夾找到startup.bat 和catalina.bat兩個文件 2、startup.bat用記事本打開 在末尾添加pause 3、保存修改&#xff0c;雙擊startup.bat如果出現這種問題&#xff0c;就是找不到jdk路徑 4、用記事本打開ca…

2194. 負載平衡問題(網絡流,費用流)

活動 - AcWing G 公司有 n 個沿鐵路運輸線環形排列的倉庫&#xff0c;每個倉庫存儲的貨物數量不等。 如何用最少搬運量可以使 n 個倉庫的庫存數量相同。 搬運貨物時&#xff0c;只能在相鄰的倉庫之間搬運。 數據保證一定有解。 輸入格式 第 1 行中有 1 個正整數 n&#x…

MySQL - 聯表查詢從表即使有索引依然 ALL 的一個原因

問題描述 今天排查 MySQL 語句性能發現&#xff0c;主外鍵都添加索引了&#xff0c;為什么 explain 分析 type ALL&#xff1f; 原因分析 主表和從表的關聯字段的編碼方式不一樣&#xff0c;改成一樣的編碼方式即可 解決方案 # 修改某張表某字段編碼 ALTER TABLE t_xxx CHA…

STM32CubeMX實戰教程: TIM6、TIM7 - 基本定時器

目錄 一、基本定時器的作用 二、常用型號的TIM時鐘頻率 三、CubeMX配置 四、編寫執行代碼 一、基本定時器的作用 基本定時器&#xff0c;主要用于實現定時和計數功能。作用包括&#xff1a; 定時功能&#xff1a;可以產生周期性的中斷&#xff0c;用于實現定時任務。例如&…

什么是Docker容器?

Docker是一種輕量級的虛擬化技術&#xff0c;同時是一個開源的應用容器運行環境搭建平臺&#xff0c;可以讓開發者以便捷方式打包應用到一個可移植的容器中&#xff0c;然后安裝至任何運行Linux或Windows等系統的服務器上。相較于傳統虛擬機&#xff0c;Docker容器提供輕量化的…

【C++通關攻略 · 基礎篇】輸入輸出語句

目錄 輸入語句 原理 什么是流&#xff1f; 語法 補充 輸出語句 原理 語法 補充 示例 輸入語句 輸入語句&#xff0c;就是用來接受用戶輸入的內容。比如用戶在控制臺輸入一個數字&#xff0c;就可以用輸入語句去就收。 原理 在 C 中&#xff0c;cin 就是最常用的輸入…

linux安裝mysql5.7

linux安裝mysql5.7 一、下載mysql5.7二、解壓包介紹三、上傳包到linux四、卸載mariadb五、安裝mysql六、修改權限七、啟動mysql八、使用過navicat創作不易&#xff0c;筆記不易&#xff0c;如覺不錯&#xff0c;請三連&#xff0c;謝謝~~ 一、下載mysql5.7 去mysql官方下載&am…

MES系統在離散制造企業中的功能解析

隨著信息技術的快速發展和制造業的轉型升級&#xff0c;MES在離散制造企業中的作用日益凸顯。MES系統不僅提高了生產效率和產品質量&#xff0c;還優化了資源配置&#xff0c;增強了企業的市場競爭力。 一、生產管理功能 MES系統能夠實時監控生產現場的各種數據&#xff0c;包…

二叉搜索樹題目:將有序數組轉換為二叉搜索樹

文章目錄 題目標題和出處難度題目描述要求示例數據范圍 解法思路和算法證明代碼復雜度分析 題目 標題和出處 標題&#xff1a;將有序數組轉換為二叉搜索樹 出處&#xff1a;108. 將有序數組轉換為二叉搜索樹 難度 4 級 題目描述 要求 給定整數數組 nums \texttt{nums}…

一、低代碼平臺-數據庫設計規范

數據庫設計規范目的 a、規格化管理各個業務數據表 b、通過字段名稱快速了解表與表之間的關聯關系 c、通過字段第一位快速了解字段數據類型等等所有規范都為了更好的開發與后期系統運維。 1、數據庫設計規范 答&#xff1a;數據庫安裝必須選擇大小寫敏感&#xff1b;編碼格式…

15 easy 141. 環形鏈表

法1&#xff1a;快慢指針法&#xff1a; //給你一個鏈表的頭節點 head &#xff0c;判斷鏈表中是否有環。 // // 如果鏈表中有某個節點&#xff0c;可以通過連續跟蹤 next 指針再次到達&#xff0c;則鏈表中存在環。 為了表示給定鏈表中的環&#xff0c;評測系統內部使用整數…

Python爬蟲副業真的可行嗎?

首先回答你&#xff0c;是可行的&#xff0c;python爬蟲能當副業&#xff0c;副業的方式比較多&#xff0c;等下我會講幾種。 那學到哪個層次可以接單呢&#xff1f;主要看你是接什么樣的單&#xff0c;爬一些資料&#xff0c;視頻這種簡單的學一兩個月就沒什么問題&#xff0…

第一天 走進Docker的世界

第一天 走進Docker的世界 介紹docker的前世今生&#xff0c;了解docker的實現原理&#xff0c;以Django項目為例&#xff0c;帶大家如何編寫最佳的Dockerfile構建鏡像。通過本章的學習&#xff0c;大家會知道docker的概念及基本操作&#xff0c;并學會構建自己的業務鏡像&…

一文讀懂Persistence One- 如何將Restaking帶入Cosmos

Persistence One正在將Restaking引入Cosmos。用戶將能夠通過pSTAKE、Stride、Quicksilver和Milkyway將Liquid Staked Tokens&#xff08;如ATOM、TIA、DYDX等&#xff09;存入Persistence One&#xff0c;對其進行Restaking&#xff0c;從而安全地連接更多區塊鏈&#xff0c;首…