Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

[Dúvida] desafio temperatura

No desafio temperatura, minhas dúvidas são:
não entendi o uso da String.format
não entendi essa linha double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;
E na linha da variável int também não entendi

public class DesafioTemperatura {

    public static void main(String[] args) {
        double temperaturaEmCelsius = 30.4;
        double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;

        String mensagem = String.format("A temperatura de %f Celsius é equivalente a %f Fahrenheit", temperaturaEmCelsius, temperaturaEmFahrenheit);

        System.out.println(mensagem);

        int temperaturaEmFahrenheitInteira = (int) temperaturaEmFahrenheit;
        System.out.println("A temperatura em Fahrenheit inteira é: " + temperaturaEmFahrenheitInteira);

    }

}
1 resposta
solução!

Oi, Miguel! Como vai?

Vamos por partes para esclarecer suas dúvidas sobre o desafio de temperatura.

  1. Uso do String.format:
    O método String.format é utilizado para criar uma string formatada. No seu exemplo, ele está sendo usado para inserir os valores das variáveis temperaturaEmCelsius e temperaturaEmFahrenheit dentro da string de mensagem. Os %f são marcadores de posição para valores do tipo float ou double. Assim, a linha:

    String mensagem = String.format("A temperatura de %f Celsius é equivalente a %f Fahrenheit", temperaturaEmCelsius, temperaturaEmFahrenheit);
    

    Vai substituir os %f pelos valores das variáveis, resultando em uma mensagem como: "A temperatura de 30.400000 Celsius é equivalente a 86.720000 Fahrenheit". Você pode controlar o número de casas decimais usando algo como %.2f para duas casas decimais, por exemplo.

  2. Cálculo da temperatura em Fahrenheit:
    A linha:

    double temperaturaEmFahrenheit = (temperaturaEmCelsius * 1.8) + 32;
    

    Está convertendo a temperatura de Celsius para Fahrenheit. A fórmula é uma conversão padrão onde você multiplica a temperatura em Celsius por 1.8 e depois adiciona 32 para obter o valor em Fahrenheit. Por exemplo, se temperaturaEmCelsius é 30.4, a conta seria (30.4 * 1.8) + 32, resultando em 86.72.

  3. Variável int para temperatura em Fahrenheit:
    A linha:

    int temperaturaEmFahrenheitInteira = (int) temperaturaEmFahrenheit;
    

    Está convertendo o valor da temperatura em Fahrenheit de um double para um int. Isso é feito através de um processo chamado "casting", que basicamente descarta a parte decimal do número. Então, 86.72 se torna 86. Isso é útil quando você precisa de um valor inteiro, sem casas decimais.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado