Programming/연습문제

[JAVA|예제] 공통 변수 DTO(데이터저장객체)로 회원프로그램 만들기

Criming 2022. 8. 2. 10:05

[파일] 총 2개

  • class Quiz2
  • class MemberDTO

Quiz2.class
0.00MB
MemberDTO.class
0.00MB


package Quiz;

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

public class Quiz2 {
	private static ArrayList<MemberDTO> members = new ArrayList<>();
	
	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();
				
				MemberDTO member = new MemberDTO();
				member.setEmail(email);
				member.setName(name);
				member.setMobile(mobile);
				
				insert(member);
				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 int findIndexByEmail(String email) {
		int index = -1;
		 
		for(MemberDTO m : members) {
			if(m.getEmail().equals(email)) {
				index = members.indexOf(m);
				break;
			}
		}
		return index;
	}
	
	
	private static void update(String email, String name, String mobile) {
		int index = findIndexByEmail(email);
		
		if(index == -1) {
			System.out.println(email + "는/은 등록된 정보가 아닙니다.");
			return;
		}
		
		MemberDTO member = members.get(index);
		member.setName(name);
		member.setMobile(mobile);
		
		members.set(index, member);
		System.out.println(email + "님의 정보가 수정되었습니다.");
	}

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

		if(index == -1) {
			System.out.println(email + "는/은 등록된 정보가 아닙니다.");
		}else {
			MemberDTO selectData = members.get(index);
			System.out.println("이메일 : " + selectData.getEmail());
			System.out.println("이름 : " + selectData.getName());
			System.out.println("전화번호 : " + selectData.getMobile());
		}
		System.out.println();
	}
	
	private static void selectAll() {
		if(members.isEmpty() == true) {
			System.out.println("등록 후 이용하세요.");
		}else {
			for(MemberDTO m : members) {
				System.out.println("이메일 : " + m.getEmail());
				System.out.println("이름 : " + m.getName());
				System.out.println("전화번호 : " + m.getMobile());
				System.out.println();
			}
		}
	}
	private static void insert(MemberDTO member) {
		boolean check = true;
		
		for(MemberDTO m : members) {
			if(m.getEmail().equals(member.getEmail())) {
				check = false;
				break;
			}
		}
		if(check == true) {
			members.add(member);
		}else {
			System.out.println(member.getEmail() + "는/은 등록된 이메일입니다.");
		}
	}
}
package Quiz;

public class MemberDTO { //공통 변수 저장 | DTO(데이터 전송 객체)
	private String email;
	private String name;
	private String mobile;
	
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	
}