import java.util.*;
import java.util.InputMismatchException;
//추상 클래스
abstract class info {
protected String name;//환자명
protected int age;//환자 나이
//생성자
public info (String name) {
this.name = name;
}
//오버로딩
public info (String name, int age) {
this.name = name;
this.age = age;
}
public void showinfo() {
System.out.println("- 환자명 : "+ name);
System.out.println("- 환자 나이 : "+ age);
}
}//abstract class info
//클래스 상속
class hospital_info extends info{
private String doctor;//담당의사
public hospital_info(String name, int age, String doctor) {
super(name,age);
this.doctor = doctor;
}
//메소드 오버라이딩 //다중 스레드
public void showinfo() {
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("[ 미소내과의원 ]");
super.showinfo();
System.out.println("# 담당의사 : "+doctor);
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}
}//class hospital_info extends info
//인터페이스 아픈곳으로 다중인터페이스 구현
interface Aachlist{
String achlist_add(String hlist);
}//interface Aachlist
interface Aemedlist{//복용중인약
String emedlist_add(String hlist);
}//interface Aemedlist
class hos_achlist implements Aachlist,Aemedlist{
String hlist;
public String achlist_add(String hlist) {
this.hlist =hlist;
return hlist;
}
public String emedlist_add(String hlist) {
this.hlist =hlist;
return hlist;
}
public void show_hachlist(String achlist[]) {//아픈곳
if(achlist.length>0) {
System.out.print("아프신 곳은 ");
for(int i = 0;i<achlist.length;i++) {
if(achlist[i]!=null) {
System.out.print(achlist[i]+" ");
}//if null
}//for
System.out.println("맞나요?");
}//if
else {
System.out.println("");
}//else
}//show_hachlist(String achlist[])
public void show_hmedlist(String emedlist[]){//복용중인약
if(emedlist.length>0) {
System.out.print("복용중인 약은 ");
for(int i = 0;i<emedlist.length;i++) {
if(emedlist[i]!=null) {
System.out.print(emedlist[i]+" ");
}//if null
}//for
System.out.println("맞나요?");
}//if
else {
System.out.println("네 알겠습니다.");
}//else
}//show_hmedlist(String emedlist[]
}//hos_achlist
//main class
public class Main {
public static void main(String[] args) {
Scanner t= new Scanner(System.in);
String achlist[] = new String[5];//아픈곳 리스트
String emedlist[] = new String[5];//복용중인 약
int acnt = 0;//아픈곳 개수
int mcnt = 0;
info abc ;//다형성
String hos_doctor = "최병옥";
System.out.println("안녕하세요 여기는 미소내과의원입니디.");
System.out.println("일반 진료는 1번 코로나백신진료는 2번을 입력하세요.");
int num = t.nextInt();
int a=1;//wrapper
System.out.println((Integer)a);
System.out.println("나이 또는 연세가 어떻게 되나요?");
int hos_age = t.nextInt();
System.out.println("이름은 어떻게 되나요?");
String hos_name = t.next();
// String achlist[] = new String[5];//아픈곳 리스트
// String emedlist[] = new String[5];//복용중인 약
// int acnt = 0;//아픈곳 개수
// int mcnt = 0;
if(num==1) {
System.out.println("대기해 주세요. ");
System.out.println("아픈곳이 있으시다면 'yes'없다면 'no'라고 입력해주세요 ");
String ach = t.next();
if(ach.equals("yes")== true) {
hos_achlist Aadd = new hos_achlist();
while(acnt <= 5) {
String aaaaa = t.next();
achlist[acnt] =Aadd.achlist_add(aaaaa) ;
acnt++;
Aadd.show_hachlist(achlist);
System.out.println("아픈곳이 더 있나요 있다면 'yes'없다면 'no");
String ags = t.next();
if(ags.equals("no")) break;
}//while acnt <= 5
}//if ach.equals"yes"
else {
System.out.println("네 알겠습니다.");
}//else if (ach.equals("no"
}//if num=1
else {
//예외처리 주사 1,2,3 이 아닌 경우 ("백신주사는 1부터 3까지만 입력할수 있습니다. ")
System.out.println("백신이 처음 접종이시면 1번 두번째 접종이면 2번을 입력해 주세요 ");
int numm = t.nextInt();
if(numm == 1) {
System.out.println("예약한 주사가 무엇인가요? ");
System.out.println("1.모더나 2.화이자 3.아스트라제네카 ");
//try 문
int junum ;
try {
junum= t.nextInt();
abc = new hospital_info( hos_name, hos_age, hos_doctor);
abc.showinfo();
if (junum==1) {
System.out.println("1차접종후 4주(또는 28일)후에 2차접종을 받으세요");
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사 if
else if (junum ==2) {
System.out.println("1차접종후 3주(또는 21일)후에 2차접종을 받으세요");
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사 else if
else {
System.out.println("1차접종후 4주 ~ 12주안에 2차접종을 받으세요");
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사else
}//try
catch (InputMismatchException e){
System.out.println("숫자로 입력해주세요.");
}//catch
}//처음 접종
//2차접종
else {
System.out.println("맞았던 주사가 무엇인가요? ");
System.out.println("1.모더나 2.화이자 3.아스트라제네카 ");
//try 문
int junumm ;
try {
junumm= t.nextInt();
abc = new hospital_info( hos_name, hos_age, hos_doctor);
abc.showinfo();
if (junumm==1) {
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사 if
else if (junumm ==2) {
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사 else if
else {
System.out.println("밖에서 30분 있다 가셔야돼요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}//주사else
}//try
catch (InputMismatchException e){
System.out.println("숫자로 입력해주세요.");
}//catch
}//2차접종
}//일반 코로나 접종
System.out.println("예방 접종후 주의 사항입니다.");
System.out.println("예방접종 후 3시간 이상 주의 깊게 관찰합니다.");
System.out.println("일주일 정도는 고강도 운동 및 활동, 음주를 삼가주세요.");
System.out.println("평소와 다른 신체 증상이 나타나면 바로 의사의 진료를 받으세요");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
System.out.println("안녕히가세요~~!");
}//string
}//main