Oii, Renan. Tudo bem?
É muito bom ver você praticando os conceitos de tipos de dados e casting em Java. Essa é uma parte fundamental pra entender como a linguagem gerencia a memória e a precisão dos números.
Analisando o seu código, notei que você aplicou o casting de forma direta na operação. No entanto, tenho alguns pontos para te ajudar a deixar o código ainda mais alinhado com o que foi pedido no desafio:
Estrutura do método e variáveis:
No seu código, você nomeou a variável de entrada como temperature (que recebe o valor em Celsius) e o resultado final como celsius. Pra facilitar a leitura, o ideal é que os nomes reflitam exatamente o que o dado representa. Por exemplo: temperaturaCelsius e temperaturaFahrenheit.
O desafio do casting:
O exercício sugeria primeiro calcular o valor com casas decimais (usando double) pra só depois converter para um número inteiro. No seu código atual, a conversão para int acontece logo no cálculo, o que faz com que você perca a precisão decimal antes mesmo de exibir o resultado completo.
Uma sugestão de como estruturar isso para seguir os passos do desafio:
public class CelsiusForFahrenheit {
public void converterFahrenheit() {
double temperaturaCelsius = 9.8;
// Primeiro, calculamos o valor preciso em double
double fahrenheit = (temperaturaCelsius * 1.8) + 32;
System.out.println("A temperatura de " + temperaturaCelsius + " Celsius equivale a " + fahrenheit + " Fahrenheit.");
// agora, realizamos o casting para exibir apenas a parte inteira
int fahrenheitInteiro = (int) fahrenheit;
System.out.println("O resultado arredondado (inteiro) é: " + fahrenheitInteiro);
}
}
Note que:
- O uso do
(int) antes da variável ou operação "corta" as casas decimais. - Separar o cálculo da exibição inteira ajuda a manter a informação original guardada caso precise dela depois no sistema.
Continue praticando.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!