Exceção ao formato numérico Exceção com "D" e "F"?

Eu encontrei um problema muito estranho no meu código. Eu tenho um conversor de temperatura simples, onde o usuário digita a temperatura em graus Celsius e, depois de pressionar "Convert", a temperatura em Fahrenheit é mostrada. Se o usuário não digitar algo válido (qualquer coisa que não seja um número ou decimal), uma caixa de diálogo de erro será exibida. Código:

btnConvert.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                String tempFahr = (String) enterDegreesC.getText();
                double tempF = Double.valueOf(tempFahr);
                double tempFConverted = tempF * 1.8 +32;            
                displayDegreesF.setText(tempFConverted + " Farenheit");
            }
            catch (NumberFormatException nfe) {
                JOptionPane.showMessageDialog(frmTemperatureConverter, "Please Enter a Number.", "Conversion Error", JOptionPane.ERROR_MESSAGE);                    
            }               
        }
    });

Código bastante direto e simples e funciona bem, exceto por uma coisa.Quando digito uma combinação de um número seguido pelas letras "f" ou "d", nenhuma caixa de diálogo de erro é exibida e a temperatura em Fahrenheit é calculada usando o dígito à frente da letra. Isso só acontece com "d" e "f" (e "D" e "F") e não com qualquer outra letra. Estou perplexo com este. Por que apenas essas duas letras, quando colocadas após um dígito, fazem com que as exceções não sejam lançadas e o cálculo prossiga?

questionAnswers(3)

yourAnswerToTheQuestion