Dev.J

[JAVA] 문제 12-3 이름과 전화번호를 입력받아 검색하는 프로그램을 HashMap 을 이용하여 구현하시오. / 컬렉션(map) 본문

Solved

[JAVA] 문제 12-3 이름과 전화번호를 입력받아 검색하는 프로그램을 HashMap 을 이용하여 구현하시오. / 컬렉션(map)

JJ____ 2021. 9. 23. 16:06

 이름과 전화번호를 입력받아 검색하는 프로그램을 HashMap 을 이용하여 구현하시오.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;
import java.util.Iterator;
 
public class Assignment12_3 {
 
    public static void main(String[] args) {
        HashMap<StringString> pbook = new HashMap<StringString>();
 
        System.out.print("입력하려는 데이터의 수는 :");
 
        Scanner sc = new Scanner(System.in);
 
        int num = sc.nextInt();
        System.out.println("이름과 전화번호를 입력하세요. (예: 홍길동 010-111-1212)");
        for (int i = 1; i <= num; i++) {
            System.out.print(i + ". 이름, 전화번호 >>");
            String name = sc.next();
            String number = sc.next();
            pbook.put(name, number);
        }
 
        Set<String> keys = pbook.keySet();
        Iterator<String> it = keys.iterator();
 
        System.out.println("전화번호를 찾으려는 회원의 이름은 :   ");
        while (it.hasNext()) {
            String key = it.next();
            String value = pbook.get(key);
            String find_name = sc.next();
            if (find_name.equals(key)) {
                System.out.println(value);
            }
            else {
                System.out.println("해당하는 이름의 회원이 리스트에 없습니다.");
            }
        }
    }
}
 
cs

prob) 영어는 괜찮으나 한글로 입력 시 해당하는 이름의 회원을 찾지 못함.

 

실행결과

입력하려는 데이터의 수는 :5
이름과 전화번호를 입력하세요. (예: 홍길동 010-111-1212)
1. 이름, 전화번호 >>a 1
2. 이름, 전화번호 >>s 2
3. 이름, 전화번호 >>d 3
4. 이름, 전화번호 >>f 4
5. 이름, 전화번호 >>g 5
전화번호를 찾으려는 회원의 이름은 :   
a
1

728x90