1
resposta

Conversão Celsius para Fahrenheit

package Alura;

public class CelsiusForFahrenheit {
    public void converterFahrenheit() {

        double temperature = 9.8;

        //Convert values
        int celsius;
        celsius = (int) ((temperature * 1.8) + 32);

        System.out.println("O resultado da conversão \n " +
                "de Celsius para Fahrenheit é: " + celsius);

    }
}
1 resposta

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údos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!