내용

글번호 620
작성자 heojk
작성일 2017-04-04 09:26:12
제목 애완동물 관리하기 - 은닉 적용
내용 입원/퇴원하는 동물들에 대한 정보를 컴퓨터를 이용해서 관리하고 싶습니다. 입원/퇴원/진료 하는 모든 동물들에 대하여 정보를 저장하고 다음 방문시 이전 기록을 조회하고 싶습니다. 저장하는 정보는 소유주이름, 동물이름, 주소, 종류, 출생년도, 진료일, 진료내용입니다. 기능은 신규정보 입력, 진료기록 저장, 진료기록 조회, 정보 삭제가 있습니다. Pet.java
public class Pet {
	private String owner;
	private String petName;
	private String address;
	private String kind;
	private int birthYear;
	private String mediDate;
	private String mediContent;
	
	public Pet(String owner, String petName, String address, String kind, int birthYear) {
		this.owner = owner;
		this.petName = petName;
		this.address = address;
		this.kind = kind;
		this.birthYear = birthYear;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public String getPetName() {
		return petName;
	}

	public void setPetName(String petName) {
		this.petName = petName;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getKind() {
		return kind;
	}

	public void setKind(String kind) {
		this.kind = kind;
	}

	public int getBirthYear() {
		return birthYear;
	}

	public void setBirthYear(int birthYear) {
		this.birthYear = birthYear;
	}

	public String getMediDate() {
		return mediDate;
	}

	public void setMediDate(String mediDate) {
		this.mediDate = mediDate;
	}

	public String getMediContent() {
		return mediContent;
	}

	public void setMediContent(String mediContent) {
		this.mediContent = mediContent;
	}

	@Override
	
	public String toString() {
		return "Pet [owner=" + owner + ", petName=" + petName + ", address=" + address + ", kind=" + kind
				+ ", birthYear=" + birthYear + ", mediDate=" + mediDate + ", mediContent=" + mediContent + "]";
	}
	
}
PetShop.java
import java.util.Scanner;

public class PetShop {
	static final int MAX=100;
	static Pet[] petList = new Pet[MAX];
	static int count = 0;
	static int index = -1;
	static Scanner sc = new Scanner(System.in);
	
	public static void main(String[] args) {
		petList[0] = new Pet("홍길동", "나비", "강남구", "고양이", 2016);
		petList[1] = new Pet("홍길서", "누렁이", "강남구", "개", 2014);
		count = 2;
		while(true) {
			System.out.print("신규정보 입력(i), 진료기록 저장(u), 진료기록 조회(s), 정보 삭제(d) : ");
			char menu = sc.next().toLowerCase().charAt(0);
			switch(menu) {
			case 'i':
				//petList 배열의 count 번 방에 저장 후 count++
				registNewPet();
				break;
			case 'u':
				//소유주이름과 동물이름입력받아 검색
				index = searchPet();
				if(index>=0 && index<count) {
					//진료기록 저장
					updateMediContent();
				}else {
					System.out.println("정보가 존재하지 않습니다.");
				}
				break;
			case 's':
				//소유주이름과 동물이름입력받아 검색
				index = searchPet();
				if(index>=0 && index<count) {
					//진료기록 조회
					printMediInfo();
				}else {
					System.out.println("정보가 존재하지 않습니다.");
				}
				break;
			case 'd':
				//소유주이름과 동물이름입력받아 검색
				index = searchPet();
				if(index>=0 && index<count) {
					//진료기록 삭제
				}else {
					System.out.println("정보가 존재하지 않습니다.");
				}
				break;
			default :
				System.out.println("메뉴를 잘 못 선택하셨습니다.");
				break;
			}
		}
	}

	private static void printMediInfo() {
		System.out.println("과거 진료 내역을 출력합니다.-----------------");
		System.out.println("고객이름 : " + petList[index].getOwner());
		System.out.println("애완동물이름 : " + petList[index].getPetName());
		System.out.println("진료일 : " + petList[index].getMediDate());
		System.out.println("진료내역 : " + petList[index].getMediContent());
	}

	private static void updateMediContent() {
		sc.nextLine();
		System.out.println("진료일과 진료내역을 입력하세요.");
		System.out.print("진료일:");
		String mediDate = sc.nextLine();
		System.out.print("진료내역:");
		String mediContent = sc.nextLine();
		petList[index].setMediDate(mediDate);
		petList[index].setMediContent(mediContent);
	}

	private static int searchPet() {
		System.out.print("소유주 이름과 애완동물 이름을 입력하세요.");
		String owner = sc.next();
		String petName = sc.next();
		for(int i=0; i<count; i++) {
			if(petList[i].getOwner().equals(owner) && petList[i].getPetName().equals(petName)) {
				return i;
			}
		}
		return -1;
	}

	private static void registNewPet() {
		System.out.println("신규 정보를 입력하세요.");
		System.out.print("고객 이름 : "); String owner = sc.next();
		System.out.print("애완동물 이름 : "); String petName = sc.next();
		System.out.print("주소 : "); String address = sc.next();
		System.out.print("종류 : "); String kind = sc.next();
		System.out.print("출생년도 : "); int birthYear = sc.nextInt();
		petList[count] = new Pet(owner, petName, address, kind, birthYear);
		count++;
	}
}