Исключение для числового формата Исключение с «D» и «F»?

Я столкнулся с очень странной проблемой в моем коде. У меня есть простой преобразователь температуры, в котором пользователь вводит температуру в градусах Цельсия, и после нажатия кнопки «Преобразовать» отображается температура в градусах Фаренгейта. Если пользователь не вводит что-либо действительное (что-либо, кроме числа или десятичного числа), отображается диалоговое окно с ошибкой. Код:

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);                    
            }               
        }
    });

Довольно простой и понятный код и хорошо работает, за исключением одной вещи.Когда я ввожу комбинацию из числа, за которым следуют буквы «f» или «d», диалоговое окно с сообщением об ошибке не отображается, а температура в градусах Фаренгейта рассчитывается с использованием цифры, стоящей перед буквой. Это ТОЛЬКО происходит с «d» и «f» (и «D» и «F»), а не с любой другой буквой. Я поставлен в тупик на этом. Почему только эти две буквы, помещенные после цифры, приводят к тому, что исключения не генерируются и вычисление продолжается?

Ответы на вопрос(3)

Ваш ответ на вопрос