내용

글번호 619
작성자 heojk
작성일 2017-04-04 17:30:36
제목 애완동물 관리하기
내용 입원/퇴원하는 동물들에 대한 정보를 컴퓨터를 이용해서 관리하고 싶습니다. 입원/퇴원/진료 하는 모든 동물들에 대하여 정보를 저장하고 다음 방문시 이전 기록을 조회하고 싶습니다. 저장하는 정보는 소유주이름, 동물이름, 주소, 종류, 출생년도, 진료일, 진료내용입니다. 기능은 신규정보 입력, 진료기록 저장, 진료기록 조회, 정보 삭제가 있습니다. Pet.java[//b>
public class Pet {
	String owner;
	String petName;
	String address;
	String kind;
	int birthYear;
	String mediDate;
	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;
	}

}
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].owner);
		System.out.println("애완동물이름 : " + petList[index].petName);
		System.out.println("진료일 : " + petList[index].mediDate);
		System.out.println("진료내역 : " + petList[index].mediContent);
	}

	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].mediDate = mediDate;
		petList[index].mediContent = 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].owner.equals(owner) && petList[i].petName.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++;
	}
}
* 삭제는 직접 구현해 보세요.