명품 자바 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 == -1) return "비어있는 스택"; return stack[top--]; } public boolean push(String ob){ if(top == stack.length) return 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
'# Language > Java' 카테고리의 다른 글
명품 JAVA 프로그래밍 5장 6번 (0) | 2018.07.21 |
---|---|
명품 JAVA 프로그래밍 5장 5번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 4번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 2번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 1번 (0) | 2018.07.21 |
명품 JAVA 프로그래밍 5장 OpenChallenge (0) | 2018.07.20 |
명품 JAVA 프로그래밍 4장 6번 (2) | 2018.07.20 |