자바 병원관리 프로그램 코드
병원 관리 프로그램 요약
프로그램 개요
이 프로그램은 병원 환자의 진찰비, 입원비, 진료비 등을 계산하고, 정렬 및 출력하는 기능을 포함한다.
- Hospital: 환자 정보를 관리하는 클래스
- Input: 사용자 입력을 받아 환자 정보를 리스트에 추가하는 클래스
- Calc: 환자의 진찰비, 입원비, 진료비를 계산하는 클래스
- Output: 계산된 환자 정보를 출력하는 클래스
- Main: 프로그램을 실행하는 클래스
주요 기능
- Input: 사용자로부터 환자 정보를 입력받는다.
- Calc: 입력된 정보를 바탕으로 진찰비, 입원비, 진료비를 계산한다.
- Sort: 환자 번호를 기준으로 리스트를 정렬한다.
- Output: 계산된 정보를 출력한다.
- Main: 각 클래스의 메소드를 호출해서 실행한다.
클래스별 설명
Hospital 클래스
병원 환자의 정보를 관리하는 클래스
- 필드:
num
: 환자 번호dept
: 진료 부서daysAdmitted
: 입원 일수age
: 환자 나이admissionFee
: 입원비totalHospitalFee
: 총 입원비treatmentFee
: 진료비examinationFee
: 진찰비
- 생성자:
- 환자 번호, 진료 부서, 입원 일수, 나이를 매개변수로 받아 객체를 초기화한다.
- 메서드:
getNum()
,getDaysAdmitted()
,getAge()
: 각 필드를 반환한다.setAdmissionFee()
,setTreatmentFee()
,setExaminationFee()
: 각 필드를 설정합니다.toString()
: 환자 정보를 포맷에 맞게 문자열로 반환한다.
Input 클래스
사용자 입력을 받아 Hospital
객체 리스트에 추가하는 클래스
- 필드:
list
:Hospital
객체를 저장하는 리스트
- 생성자:
list
를 매개변수로 받아 초기화한다.
- 메서드:
input()
: 사용자로부터 입력을 받아Hospital
객체를 생성하고 리스트에 추가한다. 진료 코드를 입력받아 해당 부서명을 설정한다.
Calc 클래스
각 환자의 진찰비, 입원비, 진료비를 계산하는 클래스
- 필드:
list
:Hospital
객체 리스트
- 생성자:
list
를 매개변수로 받아 초기화한다.
- 메서드:
calc()
: 각 환자의 진찰비, 입원비, 진료비를 계산하여 설정한다.calculateExaminationFee()
: 나이에 따라 진찰비를 계산한다.
Output 클래스
계산된 환자 정보를 출력하는 클래스
- 필드:
list
:Hospital
객체 리스트
- 생성자:
list
를 매개변수로 받아 초기화한다.
- 메서드:
print()
: 리스트에 있는 환자 정보를 출력한다.labelPrint()
: 출력 헤더를 출력한다.
Main 클래스
프로그램을 실행하는 클래스
- 메서드:
main()
: 프로그램의 주요 흐름을 제어한다. 입력, 계산, 정렬, 출력의 순서로 실행한다.
예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
public class Hospital {
// 필드 및 생성자
// Getter 및 Setter 메서드
// toString() 메서드
}
import java.util.List;
import java.util.Scanner;
public class Input {
private List<Hospital> list;
public Input(List<Hospital> list) {
this.list = list;
}
public void input() {
// 사용자 입력 처리
}
}
import java.util.ArrayList;
import java.util.List;
public class Calc {
private List<Hospital> list;
public Calc(List<Hospital> list) {
this.list = list;
}
public void calc() {
// 진찰비, 입원비, 진료비 계산
}
private double calculateExaminationFee(int age) {
// 나이에 따른 진찰비 계산
}
}
import java.util.List;
public class Output {
private List<Hospital> list;
public Output(List<Hospital> list) {
this.list = list;
}
public void print() {
// 환자 정보 출력
}
public void labelPrint() {
// 출력 헤더
}
}
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Hospital> list = new ArrayList<>();
Input input = new Input(list);
input.input();
Calc calc = new Calc(list);
calc.calc();
// 정렬 클래스
Sort sort = new Sort(list);
sort.quickSort();
Output output = new Output(list);
output.labelPrint();
output.print();
System.out.println("Program is over...");
}
}
import java.util.List;
public class Sort {
private List<Hospital> list;
public Sort(List<Hospital> list) {
this.list = list;
}
public void quickSort() {
// 퀵 정렬 구현
}
private int partition(int low, int high) {
// 퀵 정렬 파티션
}
}
이 코드는 병원 환자의 입원 일수에 따라 진찰비와 입원비를 계산하고, 이를 출력하는 간단한 프로그램을 만들어봤다.
This post is licensed under CC BY 4.0 by the author.