Neste capítulo, vamos resolver um desafio prático de conversão de temperatura entre as escalas Fahrenheit e Celsius.
Este desafio vai ajudar a praticar:
Crie um arquivo chamado temperatura.java seguindo estas instruções:
fator e atribua a ela valor 5.0 / 9.0ajuste e atribua a ela o valor 32fahrenheit e atribua a ela um valor qualquer, tipo 86.5celsius e atribua a ela a equação: celsius = (fahrenheit – ajuste) * fatorAqui está o código completo para resolver o desafio:
public class temperatura {
public static void main(String[] args) {
// Formula: celsius = (fahrenheit - 32) * 5/9
// Crie uma constante do tipo double chamada fator e atribua a ela valor 5.0 / 9.0
final double fator = 5.0 / 9.0;
// Crie uma constante do tipo double chamada ajuste e atribua a ela o valor 32
final double ajuste = 32;
// Crie uma variável do tipo double chamada fahrenheit e atribua a ela um valor qualquer, tipo 86.5
double fahrenheit = 86.5;
// Crie uma variável do tipo double chamada celsius e atribua a ela a equação celsius = (fahrenheit – ajuste) * fator
double celsius = (fahrenheit - ajuste) * fator;
// Imprima o valor da temperatura em Celsius usando printf com uma casa decimal
System.out.printf("Temperatura em Fahrenheit: %.1f°F\n", fahrenheit);
System.out.printf("Temperatura em Celsius: %.1f°C\n", celsius);
// Escolha um novo valor de temperatura em Fahrenheit e descubra seu valor em Celsius
fahrenheit = 32.0; // Ponto de congelamento da água em Fahrenheit
celsius = (fahrenheit - ajuste) * fator;
// Imprima novamente esse valor usando println
System.out.println("\nNova conversão:");
System.out.println("Temperatura em Fahrenheit: " + fahrenheit + "°F");
System.out.println("Temperatura em Celsius: " + celsius + "°C");
}
}
Temperatura em Fahrenheit: 86.5°F
Temperatura em Celsius: 30.3°C
Nova conversão:
Temperatura em Fahrenheit: 32.0°F
Temperatura em Celsius: 0.0°C
Vamos analisar cada parte do código:
final double fator = 5.0 / 9.0; final double ajuste = 32;
Usamos final para declarar constantes cujos valores não mudarão. O fator representa a fração 5/9 da fórmula, e o ajuste representa o valor 32 que é subtraído da temperatura em Fahrenheit.
double fahrenheit = 86.5; double celsius = (fahrenheit - ajuste) * fator;
Definimos a temperatura em Fahrenheit como 86.5°F e calculamos o equivalente em Celsius usando a fórmula.
System.out.printf("Temperatura em Celsius: %.1f°C\n", celsius);
Usamos printf com o especificador %.1f para mostrar o valor com uma casa decimal.
fahrenheit = 32.0; celsius = (fahrenheit - ajuste) * fator;
Mudamos o valor de Fahrenheit para 32°F (ponto de congelamento da água) e recalculamos o valor em Celsius.
System.out.println("Temperatura em Celsius: " + celsius + "°C");
Desta vez, usamos println para mostrar o resultado, concatenando o valor da variável com texto.
Aqui está uma pequena tabela de conversão entre Fahrenheit e Celsius para referência:
| Fahrenheit (°F) | Celsius (°C) | Observação |
|---|---|---|
| 32 | 0 | Ponto de congelamento da água |
| 68 | 20 | Temperatura ambiente típica |
| 98.6 | 37 | Temperatura corporal humana normal |
| 212 | 100 | Ponto de ebulição da água |
Teste seus conhecimentos sobre conversão de temperatura e formatação em Java:
Reforce o conteúdo desta aula com mais dois exercícios práticos: