Collection/HashMap
HashMap 예제(3)
by pms93
2022. 7. 26.
package hashMaps;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Scanner;
public class Quiz3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
HashMap<String, String> informName = new HashMap<>();
HashMap<String, String> informPw = new HashMap<>();
String id, name, pw, sel;
while (true) {
Iterator<String> itInformName = informName.keySet().iterator();
System.out.print("1. 회원등록\n2. 회원검색\n3. 회원삭제\n4. 회원 모두보기\n5. 비밀번호 수정\n6. 프로그램 종료\n: ");
sel = sc.next();
sc.nextLine();
switch (sel) {
case "1":
System.out.print("등록하실 아이디를 입력하세요 : ");
id = sc.next();
sc.nextLine();
if (informName.containsKey(id)) {
System.out.println("이미 등록된 아이디입니다.");
break;
}
System.out.print("이름을 입력하세요 : ");
informName.put(id, sc.next());
sc.nextLine();
System.out.print("비밀번호를 입력하세요 : ");
informPw.put(id, sc.next());
sc.nextLine();
break;
case "2":
if (informName.size() == 0) {
System.out.println("등록된 정보가 없습니다.");
break;
}
System.out.print("검색하실 ID를 입력하세요 : ");
id = sc.next();
sc.nextLine();
if (!informName.containsKey(id)) {
System.out.println("존재하지 않는 ID입니다.");
break;
}
System.out.printf("ID : %s\t이름 : %s\t비밀번호 : %s\n", id, informName.get(id), informPw.get(id));
break;
case "3":
if (informName.size() == 0) {
System.out.println("등록된 정보가 없습니다.");
break;
}
System.out.println("<< 등록된 정보 >>");
itInformName = informName.keySet().iterator();
while (itInformName.hasNext()) {
String tmp = itInformName.next();
System.out.printf("ID : %s\t이름 : %s\t비밀번호 : %s\n", tmp, informName.get(tmp), informPw.get(tmp));
}
System.out.print("삭제하실 ID를 입력하세요 : ");
id = sc.next();
sc.nextLine();
if (!informName.containsKey(id)) {
System.out.println("해당 정보는 존재하지 않습니다.");
break;
}
informName.remove(id);
informPw.remove(id);
System.out.println("삭제가 완료되었습니다.");
break;
case "4":
System.out.println("<< 등록된 정보 >>");
itInformName = informName.keySet().iterator();
while (itInformName.hasNext()) {
String tmp = itInformName.next();
System.out.printf("ID : %s\t이름 : %s\t비밀번호 : %s\n", tmp, informName.get(tmp), informPw.get(tmp));
}
break;
case "5":
System.out.println("<< 등록된 정보 >>");
itInformName = informName.keySet().iterator();
while (itInformName.hasNext()) {
String tmp = itInformName.next();
System.out.printf("ID : %s\t이름 : %s\t비밀번호 : %s\n", tmp, informName.get(tmp), informPw.get(tmp));
}
System.out.print("비밀번호를 수정하실 id를 입력하세요 : ");
id = sc.next();
sc.nextLine();
if (!informName.containsKey(id)) {
System.out.println("해당 정보는 존재하지 않습니다.");
break;
}
System.out.print("수정하실 pw를 입력하세요 : ");
informPw.replace(id, sc.next());
sc.nextLine();
System.out.println("변경이 완료되었습니다.");
break;
case "6":
System.out.println("프로그램을 종료합니다.");
System.exit(0);
default:
System.out.println("메뉴 확인 후 다시 입력하세요...");
}
}
}
}