Post

자바 병원관리 프로그램 코드

병원 관리 프로그램 요약

프로그램 개요

이 프로그램은 병원 환자의 진찰비, 입원비, 진료비 등을 계산하고, 정렬 및 출력하는 기능을 포함한다.

  • Hospital: 환자 정보를 관리하는 클래스
  • Input: 사용자 입력을 받아 환자 정보를 리스트에 추가하는 클래스
  • Calc: 환자의 진찰비, 입원비, 진료비를 계산하는 클래스
  • Output: 계산된 환자 정보를 출력하는 클래스
  • Main: 프로그램을 실행하는 클래스

주요 기능

  1. Input: 사용자로부터 환자 정보를 입력받는다.
  2. Calc: 입력된 정보를 바탕으로 진찰비, 입원비, 진료비를 계산한다.
  3. Sort: 환자 번호를 기준으로 리스트를 정렬한다.
  4. Output: 계산된 정보를 출력한다.
  5. 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.

© sseung. Some rights reserved.