mojo's Blog

명품 JAVA Programming 제 7장 실습문제 8번 본문

Java

명품 JAVA Programming 제 7장 실습문제 8번

_mojo_ 2021. 7. 22. 03:36

고객의 이름과 포인트 점수를 관리하는 프로그램을 해시맵을 이용하여 작성하는 문제이다.

 

import java.util.*;


public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		
		HashMap<String,Integer> h=new HashMap<String, Integer>();
		
		System.out.println("** 포인트 관리 프로그램입니다. **");
		while(true) {
			System.out.print("이름과 포인트 입력>> ");
			String sentence=scanner.nextLine();
			if(sentence.equals("그만")) break;
			
			String info[]=sentence.split(" ");
			String user_name=info[0];
			int user_point=Integer.parseInt(info[1]);
			
			Set<String> keys=h.keySet();
			Iterator<String> it=keys.iterator();
			int change=0;
			while(it.hasNext()) {
				String name=it.next();
				if(user_name.equals(name)) {
					int point=h.get(name);
					h.remove(name);
					h.put(user_name,point+user_point);
					change=1;
					break;
				}
			}
			
			if(change==0) h.put(user_name,user_point);
			
			it=keys.iterator();
			while(it.hasNext()) {
				String name=it.next();
				int point=h.get(name);
				System.out.print("("+name+","+point+")");
			}
			System.out.println();
		}
		
		scanner.close();
	}

}

 

Comments