// *** III.1 Grundkonzepte der Objektorientierung (1): 
// *** abstrakte Datentypen, Objekte, Klassen
// *** v.30.11.05

class Stack {

    private char [] stackElements;

    private int top;  // zeigt auf oberstes Element

    public Stack(int n) { 
        stackElements = new  char [n]; 
        top = -1;
    }

    public boolean isempty() {             
        return top == -1;                
    }

    public void push(char x) {               
        top++; stackElements[top] = x;       
    }

    public char top() {       
        if (isempty()) {
          System.out.println("Stack leer"); 
          return ' ';
        }
        else
          return stackElements [top];                            
    }

    public void pop() {                        
        if (isempty()) 
          System.out.println("Stack leer"); 
        else  
          top--;
    }
}
