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