import java.util.Scanner;
import java.util.EmptyStackException;
public class LinkedStack<T> {
private Node<T> topNode=null;
public void push(T obj){
Node<T> newNode=new Node<T>(obj);
newNode.setNext(topNode);
topNode=newNode;
}
public T pop(){
if (topNode==null)
throw new EmptyStackException();
T rval=topNode.getData();
topNode=topNode.getNext();
return rval;
}
public boolean isEmpty(){
return (topNode==null);
}
public static void main(String[] args){
String sentence = "Shooby doo wop she bop" ;
Scanner words =new Scanner(sentence);
LinkedStack<String> stack=
new LinkedStack<String>();
while(words.hasNext()){
stack.push(words.next());
}
while (!stack.isEmpty()){
System.out.print(stack.pop()+" ");
}
}
}
//