본문 바로가기
Back/JAVA

[심화예제]HashMap, 예외처리, JOptionPane을 사용하여 상품정보 반환하기

by 시월해 2021. 3. 17.

문제

package exam;

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

public class ProductSearchData {

	Map<String, String> proMap = new HashMap<String, String>();
	
	public ProductSearchData() {  // 기본 생성자
    
		proMap.put("세탁기","드럼 세탁기 최신형");
		proMap.put("냉장고","지펠 냉장고 최신형");
		proMap.put("TV","HDTV 150인치 최신모델");
		
	}  // 기본 생성자 end
	
	// 상품명을 매개변수로 넘겨 받아서 해당 상품에 대한 정보를 반환하는 메서드
	String search(String pName) {
		
		String proInfo = null;  // 상품 정보가 저장될 변수

		if(proMap.containsKey(pName)) {
			proInfo = proMap.get(pName);
		}
		
		return proInfo;
		
	}
	
	
}
package exam;

import javax.swing.JOptionPane;

public class ProductSearch {

	public static void main(String[] args) {
		
		String productName =
		   JOptionPane.showInputDialog("검색할 상품명을 입력하세요.");
		
		ProductSearchData ps = new ProductSearchData();
		
		String productInfo = ps.search(productName);
		
		try {
			productInfo.length();  // 예외가 발생할 가능성이 있는 코드
			JOptionPane.showMessageDialog(null, productInfo);
		}catch(Exception e) {
			// 예외가 발생했을 때 처리할 문장.
			System.out.println("해당 상품이 없습니다.");
			JOptionPane.showMessageDialog
				(null, "해당 상품이 없습니다.");
		}
		
		

	}

}