If you look at my toString() method below, you can see that I have not finished it. I don't know how? Can anyone explain how I might proceed? Confused :-| I'm new to linked lists and so I automatically went for the Arrays.toString() approach before I realized that there is, of course, no arrays anywhere.
import java.util.Arrays;
public class LinkedIntegerStack {
private Node top = null;
private int size = 0;
public int size(){
    return size;
}
public boolean isEmpty() {
    if(top == null){
        return true;
    }
    else{
        return false;
    }
}
public void push(int value) {
    Node n = new Node(value);
    n.next = top;
    top = n;
    size++;
}
public int top(){ //just returns a value..doesn't change structure
    return top.element;
}
public int pop(){
    if (isEmpty()){
        throw new StackEmptyException();
    }
    int toReturn = top.element;
    top = top.next;
    size--;
    return toReturn;
}       
public String toString() {
    return "[ Top = " + size +"]" + "[Stack = " );
}
private class Node {
    int element;
    Node next;
    public Node(int value){
        element = value;
    }
}
public static void main(String[] args) throws StackEmptyException{
    LinkedIntegerStack stack = new LinkedIntegerStack();
    stack.push(17);
    System.out.println(stack);
    stack.push(11);
    System.out.println(stack);
    try{
            stack.pop();
            System.out.println(stack);
        }
    catch(StackEmptyException ex){
            System.out.print("Stack is Empty: Error");
        }
    System.out.println("Stack: " + stack);
}
}
 
     
     
    