HashMap 예제 : 나라 이름과 인구를 입력하세요.(예: Korea 5000)

 






















import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

//나라 이름과 인구를 입력하세요.(예: Korea 5000)
//나라 이름, 인구 >> Korea 5000
//나라 이름, 인구 >> USA 1000000
//나라 이름, 인구 >> Swiss 2000
//나라 이름, 인구 >> France 3000
//나라 이름, 인구 >> 그만
// 
//인구 검색 >> France
//France의 인구는 3000
//인구 검색 >> 스위스
//스위스 나라는 없습니다.
//인구 검색 >> 그만

public class Blog {
	public static void main(String[] args) {
		Map<String, Integer> map = new HashMap<>();
		Scanner sc = new Scanner(System.in);
		String s;
		int i;
		System.out.println("나라 이름과 인구를 입력하세요.(예: Korea 5000)");
		while (true) {
			s = sc.next();
			if (s.contains("그만")) {
				break;
			}
			try {
				i = sc.nextInt();
			} catch (Exception e) {
				System.out.println("숫자가 아닙니다");
				sc.nextLine(); // 스캐너에 남아있는 찌꺼기 청소 
							   // 안하면 다음 반복 next() 함수에 영향
				continue;
			}
			System.out.println("나라 이름, 인구 >> " + s + " " + i);
			map.put(s, i);
		}
		while (true) {
			System.out.println("인구 검색 >>");
			s = sc.next();
			if (s.contains("그만")) {
				break;
			} else {
				if (map.containsKey(s)) { // 대신 map.get(s) != null 해도 됨
					System.out.println(s + "의 인구는 " + map.get(s));
				} else {
					System.out.println(s + "나라는 없습니다.");
				}
			}
		}
		sc.close();
	}
}

댓글

이 블로그의 인기 게시물

substring 예제: 문자열을 입력 받아 한 글자씩 회전시켜 모두 출력하는 프로그램을 작성하라

단체 채팅 구현