3층 1구역 - 개발의 장/JAVA

JAVA - 객체지향언어 생성자를 이용하여 회원 정보 프로그램 만드는 퀴즈(2022-07-29)

상이태상 2022. 7. 31. 19:27
package quiz;

import java.util.ArrayList;
import java.util.Scanner;

public class Quiz1 {
	private static ArrayList<String> emails = new ArrayList<String>();
	private static ArrayList<String> names = new ArrayList<String>();
	private static ArrayList<String> mobiles = new ArrayList<String>();
	
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		String email = "", name="", mobile="";
		while (true) {
			System.out.println("1. 회원 등록");
			System.out.println("2. 회원 검색");
			System.out.println("3. 회원 삭제");
			System.out.println("4. 회원 모두 보기");
			System.out.println("5. 회원 수정");
			System.out.println("6. 프로그램 종료");
			System.out.print("선택 > ");
			int select;
			try {
				select = Integer.parseInt(in.next());
			} catch (Exception e) {
				continue;
			}
			switch (select) {
			case 1:
				System.out.println("=== 회원 등록 ===");
				System.out.print("이메일 : "); email = in.next();
				System.out.print("이름 : ");	name = in.next();
				System.out.print("전화번호 : "); mobile = in.next();
				insert(email, name, mobile);
				break;
			case 2:
				System.out.println("=== 회원 검색 ===");
				System.out.print("이메일 : "); email = in.next();
				selectEmail(email);
				break;
			case 3:
				System.out.println("=== 회원 삭제 ===");
				System.out.print("이메일 : "); email = in.next();
				delete(email);
				break;
			case 4:	selectAll(); break;
			case 5:
				System.out.println("=== 회원 수정 ===");
				System.out.print("이메일 : "); email = in.next();
				System.out.print("이름 : ");	name = in.next();
				System.out.print("전화번호 : "); mobile = in.next();
				update(email, name, mobile);
				break;
			case 6:
				System.out.println("프로그램을 종료합니다.");
				System.exit(0);
			default:
				System.out.println("메뉴 확인 후 다시 입력하세요.");
			}
		}
	}

	private static void update(String email, String name, String mobile) {
		int index = emails.indexOf(email);
		if(index == -1) {
			System.out.println(email + "는/은 등록된 정보가 아닙니다.");
			return;
		}
		names.set(index, name);
		mobiles.set(index, mobile);
		System.out.println(email + "님의 정보가 수정되었습니다.");
	}

	private static void delete(String email) {
		int index = emails.indexOf(email);
		if(index == -1) {
			System.out.println(email + "는/은 등록된 정보가 아닙니다.");
			return;
		}
		emails.remove(index);
		names.remove(index);
		mobiles.remove(index);
		System.out.println(email + "님의 정보가 삭제되었습니다.");
	}

	private static void selectEmail(String email) {
		int index = emails.indexOf(email);
		
		if(index == -1) {
			System.out.println(email + "는/은 등록된 정보가 아닙니다.");
		}else {
			System.out.println("이메일 : " + emails.get(index));
			System.out.println("이름 : " + names.get(index));
			System.out.println("전화번호 : " + mobiles.get(index));
		}
		System.out.println();
	}
	
	private static void selectAll() {
		if(emails.isEmpty() == true) {
			System.out.println("등록 후 이용하세요.");
		}else {
			for(int i = 0; i < emails.size(); i++) {
				System.out.println("이메일 : " + emails.get(i));
				System.out.println("이름 : " + names.get(i));
				System.out.println("전화번호 : " + mobiles.get(i));
				System.out.println();
			}
		}
	}
	private static void insert(String email, String name, String mobile) {
		if(emails.contains(email) == false) {
			emails.add(email);
			names.add(name);
			mobiles.add(mobile);
		}else {
			System.out.println(email + "는/은 등록된 이메일입니다.");
		}
//		System.out.println("이메일 : " + email);
//		System.out.println("이름 : " + name);
//		System.out.println("전화번호 : " + mobile);
	}
}