에러 탈출 일지
[Java] HashMap 사용하여 로그인하는 화면 구현하기 본문
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 |