Como controlar o século na conversão de string para data?

Boa noite pessoal

estou tendo problema com a conversão de uma data da seguinte maneira:

o usuário digita 30/3/9 querendo dizer 30/03/2009
ai eu utilizei a classe SimpleDateFormat com o pattern dd/MM/yyyy
mas a conversão sai 30/03/0009.

como eu controlo para que o ano fique certo?

desde já agradeço

import java.util.Date;
import java.text.*;

class TesteSeculo {
    public static void main(String[] args) throws ParseException {
    // http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html#set2DigitYearStart(java.util.Date)
        String[] exemplos = {
            "30/03/09", // convertido corretamente para 30/03/2009
            "30/03/2009", 
            "30/3/9" // como não tem 2 dígitos não vai para 30/03/2009.
        };
        DateFormat df1 = new SimpleDateFormat ("dd/MM/yyyy");
        SimpleDateFormat df2 = new SimpleDateFormat ("dd/MM/yy");
        df2.set2DigitYearStart (df1.parse ("01/01/1950"));
        for (String ex : exemplos) {
            Date dt = df2.parse (ex); 
            System.out.println (df1.format (dt));
        }
    }
}

Se o Joseph Emmanuel tivesse um pouco mais de cuidado (escrever 30/03/09) até funcionava OK. Mas o Java não previu o caso 30/03/9. Rode o programa acima.

Ou seja, você tem de acertar manualmente antes de mandar para o método parse, se houver apenas 1 dígito no ano.

Bom entendi o q vc quiz dizer… mas ai vou ser obrigado a eu mesmo montar um conversor?

ou como vc faria?

procuraria os / e iria separar cada valor?

Basta acertar o caso “30/3/9” para “30/3/09”. Isso não é difícil de fazer.