# Language/Java

명품 JAVA 프로그래밍 5장 3번

명품 자바 Programming 
Chapter5 Ex3

Q :




다음 Stack 인터페이스를 구현하며 스택의 원소로는 문자열(String)을 갖는 StringStack클래스를 작성하라. 그리고 StringStack에 문자열을 삽입하고 다시 pop하여 문자열을 출력하는 main() 메소드를 구현하여 프로그램을 완성하라.
interface Stack{
int length();
Object pop();
boolean push(Object ob);
}







Solution







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
42
43
44
45
46
47
48
49
50
51
52
53
package chap5ex;
interface Stack{
    int length();
    Object pop();
    boolean push(Object ob);
}
 
class StringStack implements Stack{
    private String stack[];
    private int top;
    StringStack(int length){
        stack = new String[length];
        top = -1;
    }
    public int length(){
        return stack.length;
    }
    public String pop(){
        if(top == -1return "비어있는 스택";
        return stack[top--];
    }
    public boolean push(String ob){
        if(top == stack.lengthreturn false;
        stack[++top] = ob;
        return true;
    }
    public void printStack(){
        System.out.print("스택 [");
        for(int i=0; i<stack.length; i++){
            System.out.print(stack[i]);
        }
        System.out.println("]");
    }
}
 
public class StringStackMain {
    public static void main(String[] args) {
        StringStack stack1 = new StringStack(5);
        stack1.push("A");
        stack1.push("B");
        stack1.push("C");
        stack1.push("D");
        stack1.push("E");
        stack1.printStack();
        
        System.out.println(stack1.pop());
        System.out.println(stack1.pop());
        System.out.println(stack1.pop());
        System.out.println(stack1.pop());
        System.out.println(stack1.pop());
    }
}
 
cs









Key Point






Stack 구현 : 스택 포인터, pop과 push 메소드, 선입후출 구조








유용하셨다면 공감 버튼 ↓ 눌러주세요! 


728x90