본문 바로가기
☕Java/Java 프로젝트

[20210526] 고객관리시스템 수정 - CustomerInfoEx.java

by 캔 2021. 5. 26.
package cms;

import java.util.Scanner;

public class CustomerInfoEx {
	
	static Scanner sc = new Scanner(System.in);
	static int index = -1;
	static CustomerInfoManager cim = new CustomerInfoManager();
	
	public static void main(String[] args) {
		while(true) {
			System.out.println("메뉴를 입력하세요");
			System.out.println("I - 고객정보 입력\n"
					+ "P - 이전 고객정보 조회\n"
					+ "N - 다음 고객정보 조회\n"
					+ "U - 고객정보 수정\n"
					+ "D - 고객정보 삭제\n"
					+ "Q - 프로그램 종료");
			String menu = sc.next();
			switch (menu.charAt(0)) {
			case 'I', 'i' :
				System.out.println("고객정보를 입력합니다.");
				cim.saveCustomerInfo();
				break;
			case 'P', 'p':
				System.out.println("입력한 고객 이전 고객의 정보를 조회합니다.");
				index = cim.searchInfoByName();
				System.out.println("--------------------------------");
				if (index >= 0) {
					if (index == 0) {
						System.out.println("이전 고객정보가 없습니다.");
					} else {
						cim.printCustomerInfo(index - 1);
					}
				} else {
					System.out.println("조회한 정보가 없습니다.");
				}
				System.out.println("--------------------------------");
				break;
			case 'N', 'n':
				System.out.println("입력한 고객 다음 고객의 정보를 조회합니다.");
				index = cim.searchInfoByName();
				System.out.println("--------------------------------");
				if (index >= 0) {
					if (index == cim.customerInfoList.size() - 1) {
						System.out.println("다음 고객정보가 없습니다.");
					} else {
						cim.printCustomerInfo(index + 1);
					}
				} else {
					System.out.println("조회한 정보가 없습니다.");
				}
				System.out.println("--------------------------------");
				break;
			case 'U', 'u':
				System.out.println("고객정보를 수정합니다.");
				index = cim.searchInfoByName();
				if (index >= 0) {
					cim.updateCustomerInfo(index);
				} else {
					System.out.println("수정할 정보가 없습니다.");
				}
				break;
			case 'D', 'd':
				System.out.println("고객정보를 삭제합니다.");
				index = cim.searchInfoByName();
				if (index >= 0) {
					cim.deleteCustomerInfo(index);
				} else {
					System.out.println("삭제할 정보가 없습니다.");
				}
				break;
			case 'Q', 'q':
				System.out.println("프로그램을 종료합니다.");
				System.exit(0);
			default :
				System.out.println("잘못 입력하셨습니다.");
				break;
			}	
		}
	}	
}

프로그램 시작 시 수행될 클래스이다. 메뉴에 대한 안내를 출력한 뒤 메뉴의 앞글자를 입력받아 각 메뉴의 기능에 맞는 메서드들을 실행한다. 앞서 CustomerInfoManager에서 만든 메서드들을 호출하여 사용한다.