\

해병 코딩

728x90
반응형

Stack 을 이용하여 동전통 만들기


Stack<E> Stack =new Stack<E>();

push() 주어진 객체를 스텍에 넣는다

pop() 스택의 맨위 객체를 가져온다


동전 클래스 (Coin class)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package SQ;
 
public class Coin {
    private int value; // value 동전의 가격
    
    public Coin(int value) {//생성자 생성
        this.value = value; 
    }
    
    public int getValue() {//get 메소드 만들어준다
        return value;
    
    }
 
}
cs


메인 클래스


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
package SQ;
 
import java.util.Stack;
 
public class StackExample {
 
    public static void main(String[] args) {
        //Stack컬렉션//
        Stack<Coin> coinBox = new Stack<Coin>();
        //  동전을 저장 하기때문에 제너릭파나미트로 Coin 쓴다
        //동전통을 coinBox로 변수 선언
 
        coinBox.push(new Coin(100));// 동전을 넣는다//
        coinBox.push(new Coin(50));
        coinBox.push(new Coin(500));
        coinBox.push(new Coin(10));// 마지막에 추가 된것이 나온다
        
 
        //동전 빼기
        while(!coinBox.isEmpty()) {//동전 통에서 가져 올게 있으면 트루 없으면 거짓
            Coin coin = coinBox.pop(); // POP 객체를 가져온다
            System.out.println("꺼내온 동전:"+coin.getValue()+"원");
        }
 
    }
 
}
cs


<출력값>


1
2
3
4
5
꺼내온 동전:10원
꺼내온 동전:500원
꺼내온 동전:50원
꺼내온 동전:100원
cs


결론 : 이 예제를 통하여  후입 선출 LIFO는 나중에 들어온 객체가 먼저나간다는 것과 

동전을 저장 하기때문에 제너릭 파나미트터로 Coin 쓴다 제너릭을 이용 하여 코드를 만들수있다

728x90
반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band