public class StackTest
{
public static void main( String[] args )
{
Stack stack = new Stack(6);// stack의 최고 크기 설정
stack.push( '1' );
stack.push( '2' );
stack.push( '3' );
stack.push( '4' );
stack.push( '5' );
stack.push( '6' );
System.out.print("First array elements are: ");
stack.print();
System.out.print("\n");
System.out.print("Second array elements are: ");
char s;// char형으로 수정
do {
s = stack.pop();
System.out.print(s +" ");
}
while ( s!=('1') );//문자값 비교로 수정
}
}
//====================================================
//second array 디스플레이가 좀 어색해요. 뭐가 문젠지..
//그리고 import 하지않고 저 클래스에 직접 쓰고 싶어요.
//지금은 실행 됩니다..
//문제 점은 char형으로 함수를 호출하고 String으로 받았기 때문에 발생했습니다.
class Stack {
private int maxSize;
private char[] stackArray;
private int top;
public Stack(int s) {
maxSize = s;
stackArray = new char[maxSize];
top = -1;
}
public void print() {
// TODO Auto-generated method stub
for(int i=0;i<stackArray.length;i++){
System.out.print(stackArray [i] +" ");
}
}
public void push(char j) {
stackArray[++top] = j;
}
public char pop() {
return stackArray[top--];
}
public char peek() {
return stackArray[top];
}
public boolean isEmpty() {
return (top == -1);
}
public boolean isFull() {
return (top == maxSize - 1);
}
}
댓글 없음:
댓글 쓰기