에러 탈출 일지

[Java] HashMap 사용하여 로그인하는 화면 구현하기 본문

개발/Java

[Java] HashMap 사용하여 로그인하는 화면 구현하기

뉴NEW 2022. 8. 23. 21:13

HashMap 생성

키 (key) : 아이디

값 (value) : 비밀번호

// HashMap, Scanner 생성
HashMap<String, String> map = new HashMap<String, String>();  // import
Scanner sc = new Scanner(System.in);                          // import

// 데이터 추가
map.put("aaa", "1111");
map.put("bbb", "2222");
map.put("ccc", "3333");
map.put("ddd", "4444");
map.put("eee", "5555");

방법 1

Set<String> keySet = map.keySet();          // import
Iterator<String> it = keySet.iterator();    // import
while(true) {
	System.out.println("▶ 아이디와 비밀번호를 입력하시오.");
	System.out.print("아이디 입력: ");
	String id = sc.next();
	System.out.print("비밀번호 입력: ");
	String pw = sc.next();
			
	boolean flagId = false;
	boolean flagPw = false;
    it = keySet.iterator();
    while(it.hasNext()) {
	String hid = it.next();   
	if(id.equals(hid)) {       
	  flagId = true;
	  String hpw = map.get(hid);
	  if(pw.equals(hpw)) {
	    System.out.println(id + "님이 로그인하였습니다.");
	    flagPw = true;
	    break;
	  } else {
	     System.out.println("비밀번호가 일치하지 않습니다.\n다시 입력해 주세요.");
	     break;
	    }
        }
     }
    if(!flagId) System.out.println("입력한 아이디가 존재하지 않습니다.\n다시 입력해 주세요.");
    if(flagPw) break;
}

방법 2

while(true) {
	System.out.println("▶ 아이디와 비밀번호를 입력하시오.");
	System.out.print("아이디 입력: ");
	String id = sc.next();
	System.out.print("비밀번호 입력: ");
	String pw = sc.next();
			
	// 아이디 찾기
	if(map.containsKey(id)) {
			
	// 비밀번호 찾기
	if(pw.equals(map.get(id))){   // 비번과 아이디가 일치하냐
		System.out.println(id + "님이 로그인하였습니다.");
		break;
		} else {
			System.out.println("비밀번호가 일치하지 않습니다.\n다시 입력해 주세요.");
		}
		} else {
			System.out.println("아이디가 존재하지 않습니다.\n다시 입력해 주세요.");
		}
	}

Console

'개발 > Java' 카테고리의 다른 글

[Java] 문자열을 비교하는 여러가지 방법  (0) 2022.08.24
[Java] 예외처리  (0) 2022.08.23
[Java] HashMap 사용  (0) 2022.08.22
[Java] TreeSet 사용시 Comparable 인터페이스를 구현하기  (0) 2022.08.22
[Java] TreeSet  (0) 2022.08.21