can any one tell me what is wrong in my java code
<pre><code>import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Stack;
import java.util.StringTokenizer;


public class shift {

    @SuppressWarnings("unchecked")
    public static void main(String args[])
    {


        String speech = "Sentence:NounPhrase VerbPhrase:NounPhrase :Art Noun:VerbPhrase : Verb | Adverb Verb: Art : the | a : Verb :jumps | sings |: Noun:dog | cat | ";

        HashMap&lt;String, String&gt; hashmap = new HashMap&lt;String, String&gt;();
        String a;
        StringTokenizer st = new StringTokenizer(speech,":");

        while (st.hasMoreTokens()) {
          String key=st.nextToken().trim();
          String value=st.nextToken().trim();



          StringTokenizer st1 = new StringTokenizer(value,"|");

          while (st1.hasMoreTokens()) {

              a=st1.nextToken().trim();

              hashmap.put(key, a);


          }


        }


        Set set = hashmap.entrySet(); 
        Iterator ia = set.iterator();





    while(ia.hasNext()) {
    Map.Entry me = (Map.Entry)ia.next(); 

            System.out.println(me.getKey()+"-&gt;"+me.getValue());


     }
}

}

the output is
Noun-&gt;cat
NounPhrase-&gt;Art Noun
Art-&gt;a
Sentence-&gt;NounPhrase VerbPhrase
Verb-&gt;sings
VerbPhrase-&gt;Adverb Verb
</code></pre>

<p>this code is missing some values to return such as the <code>the jumps etc are not show</code></p>
