int idx = 0;
String str;
while (st.hasMoreTokens()) {
  str = st.nextToken();
  if (idx == i) {
    System.out.println(str);
  }
  idx++;
}

番号に該当するメッセージがない(=不正な番号の入力)を検出したいなら、
フラグとか使って、 while を抜けた後にcheckとか。

まあ、凡庸な方法ですわ。

(ここで使ってるのは、0,1,2 というインデックスなので、1,2,3にしたければ、
手直しが必要。あと、コンパイルしてCheckしてないので、うち間違い勘弁)