Código em Java - onde está o erro?

Olá!

Comecei recentemente a aprender a programar em Java e estou com um pequeno problema com um código.

Eu tenho que escrever um programa que converta graus Celsius em Kelvin ou Fahrenheit. O programa deve ler do teclado um número em Celsius, em seguida perguntar ao usuário se a temperatura será convertida para Kelvin ou Fahrenheit e, dependendo da resposta, fazer a conversão e mostrar o resultado na tela. Se a temperatura informada for menor que -273.15, o programa deve exibir uma mensagem de erro.

Eu escrevi o programa, ele roda certinho, exceto nessa mensagem de erro. Se eu coloco qualquer temperatura maior que -273.15, ele funciona exatamente como eu quero. Mas se eu coloco uma temperatura menor, o código buga. O NetBeans não tá indicando onde está o meu erro. Alguém pode me ajudar?

Segue abaixo o código para melhor entendimento:

package exercicio12;
import java.util.*;
public class Exercicio12 {
    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        float C, F, K, E;
        System.out.println("Insira a temperatura em Celsius");
        C = sc.nextFloat();
         if (C < -273.15) {
            System.out.println("Entrada inválida!");        }
         else {
             Scanner escolha = new Scanner (System.in);
      String opcao;
      System.out.println("Você quer converter para Fahrenheit ou Kelvin?");
      opcao = escolha.nextLine();
           if (opcao.equals("Fahrenheit")) {
          F = (C * 1.8f) + 132f;
          System.out.println("A temperatura em Fahrenheit é " +F); }
              else {
          K = C + 273.15f;
          System.out.println("A temperatura em Kelvin é " +K); }
    }
}
}

O programa buga como ?

ele realiza o calculo de forma errada ou simplesmente não realiza o calculo?

eu testei aqui e só deu erro quando se digita o numero com ponto ao invés de virgula ou insere outro caractere que não seja - ou + .

por exemplo:

-274,15 - mostra a mensagem de erro
-273,16 - mostra a mensagem de erro

274,15 - realiza o calculo normalmente
273,15 - realiza o calculo normalmente

36 - realiza o calculo normalmente
-36 - realiza o calculo normalmente

outra coisa que eu observei é que tem um erro de logica no seu código, quando se digita qualquer coisa diferente de kelvin ou Fahrenheit
a temperatura apresentada é sempre o kelvin.

Oi, Lucas! O programa simplesmente não realiza o cálculo. Mas vou testar aqui e ver se o erro só acontece quando se digita o númeo com ponto ao invés de vírgula, assim como você falou.
Quanto ao erro de lógica, eu fiz o programa dessa forma porque o enunciado do exercício que eu estava fazendo especificou que queria a conversão somente em Fahrenheit ou Kelvin. Se ele tivesse pedido outras taxas de conversão, eu teria feito o if pro Kelvin assim como fiz com o Fahrenheit, ao invés do else. Não sei se foi correto pensar dessa forma, mas enfim.
Obrigada pela atenção!

Oi Carolina,

Então quanto ao teste com o ponto ao invés da virgula o resultado vai ser uma exceção que ira finalizar o seu programa.

Quanto ao erro de logica você me desculpa(mania minha de ficar caçando), mas no seu caso não é nada que interfira na funcionalidade ou que resolva o problema.

No caso o programa não realiza o calculo somente quando é em Kelvin em Fahrenheit ou em ambos os casos?O programa buga antes ou depois de solicitar ao usuário a entrada para escolher qual a conversão que deve ser feita?

por ultimo na linha onde é feito o calculo para Fahrenheit a operação a ser feita é :

 (temperatura * 1.8f) + 32f;  

e não

(temperatura* 1.8f) + 132f;

igual esta no código(fiquei intrigado com esse problema e fui fuçar num código antigo meu de conversão Fahrenheit/Celsius - Celsius/Fahrenheit ) ai eu percebi essa diferença.