Cómo convertir grados Celsius a Fahrenheit en Java

Ejercicios básicos resueltos Java con estructura secuencial

Convertir grados Celsius a Fahrenheit es uno de los ejercicios clásicos en los primeros temas de programación en Java. Aunque parezca un programa sencillo, es una gran oportunidad para practicar:

  • Entrada de datos por teclado
  • Operaciones aritméticas
  • Precedencia de los operadores aritméticos
  • Variables y tipos numéricos
  • Buenas prácticas al escribir código
  • Validación básica de errores

Los grados Celsius también son conocidos como grados Centígrados. Con este ejercicio aprenderás no solo la fórmula para convertir grados Celsius a Fahrenheit en Java , sino también cómo estructurar el programa para que realmente entiendas lo que estás haciendo.

¿Cuál es la fórmula para convertir grados Celsius a Fahrenheit?

La fórmula es:

F = C * 9 / 5 + 32

C son los grados Celsius o grados Centígrados.

Para calcular los grados Fahrenheit equivalentes se multiplican los grados Celsius por 9 / 5 y después se suma 32.

EJERCICIO: Pasar de grados Celsius a Fahrenheit en Java

Escribe un programa que lea por teclado una temperatura expresada en grados Celsius (también llamados grados Centígrados) y calcule y muestre la temperatura equivalente en grados Fahrenheit.

El programa pedirá al usuario que introduzca la temperatura en grados Celsius, por ejemplo:

Introduce temperatura en grados Celsius: 28,4

A continuación el programa calculará la temperatura equivalente en grados Fahrenheit y lo mostrará por consola con este formato:

28,40 °C equivalen a 83,12 °F

SOLUCIÓN

//Programa para convertir grados Celsius en grados Fahrenheit
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        //se crea un Scanner para introducir datos por teclado
        Scanner sc = new Scanner(System.in);

        //se declaran dos variables de tipo double
        double celsius, fahrenheit;
        
        //introducir la temperatura en grados Celsius
        System.out.print("Introduce temperatura en grados Celsius: ");
        celsius = sc.nextDouble(); //se lee valor de tipo double y se almacena en la variable celsius

        //se aplica la fórmula para pasar de grados celsius a fahrenheit
        fahrenheit = celsius * 9.0 / 5.0 + 32;

        //se muestra el resultado por consola
        System.out.printf("%.2f °C equivalen a %.2f °F%n", celsius, fahrenheit);
   }
}

La lectura por teclado de la temperatura en grados centígrados se ha realizado utilizando el método nextDouble() de la clase Scanner. El valor de una temperatura puede contener decimales, por eso las variables celsius y fahrenheit se han creado de tipo double.

Errores comunes que se suelen cometer

  • Utilizar variables de tipo entero en lugar de variables de tipo double.
  • En la fórmula para realizar la conversión de grados Celsius a Fahrenheit, usar 9 / 5 en lugar de 9.0 / 5.0 En Java dividir 9 entre 5 da como resultado 1 ya que la división entre dos números enteros da como resultado un número entero y no se obtienen decimales. Para obtener decimales el numerador o el denominador o ambos deben ser del tipo float o double. En este caso lo hemos solucionado escribiendo 9.0 / 5.0 aunque es suficiente con que uno de los dos no sea entero para que la división entre ellos nos de decimales.
  • No utilizar printf para mostrar los valores. Aunque no es obligatorio utilizarlo, si se utiliza println mostraremos demasiados decimales. Lo más general es mostrar las temperaturas con dos decimales.

Variantes del ejercicio para seguir practicando

Como ejercicio puedes realizar la conversión inversa, es decir, convertir de grados Fahrenheit a grados Celsius.

La fórmula para convertir grados Fahrenheit a grados Celsius es:

C = (F - 32) * 5 / 9

FAQ – Preguntas frecuentes

¿Qué tipo de dato usar en Java para trabajar con temperaturas?

Para trabajar con temperaturas en Java y en general en cualquier otro lenguaje lo más adecuado es utilizar el tipo double.

¿Puedo usar el tipo float para convertir grados Celsius a Fahrenheit?

Sí. Aunque double proporciona mayor precisión, en un programa sencillo se puede usar perfectamente el tipo float.

¿Es lo mismo grados Celsius que grados centígrados?

Sí, ambos términos se refieren a la misma escala para medir temperaturas.

¿Cómo puedo hacer la conversión al contrario, de Fahrenheit a Celsius?

Para realizar la conversión de temperaturas a la inversa utiliza la fórmula C = (F - 32) * 5 / 9

¿Porqué para convertir grados Celsius a Fahrenheit se multiplica por 9 / 5?

La razón por la que para pasar de grados Celsius a Fahrenheit se multiplica por 9 / 5 o por 1.8 que es el resultado de dividir 9 entre 5 es porque esa es la relación entre ambas escalas de temperatura respecto a los puntos de congelación y ebullición del agua.

La escala Celsius tiene 100 grados desde 0º C, que es la temperatura de congelación del agua, hasta 100º C que la temperatura donde el agua hierve.

La escala Fahrenheit tiene 180 grados desde 32º F, que es la temperatura de congelación del agua, hasta 212º C que la temperatura donde el agua hierve.

La relación entre las dos escalas se establece a partir de la proporción de estos intervalos:

180 / 100 que simplificando nos da 9 / 5 o 1.8

¿Cuánto son 0ºC en grados Fahrenheit?

0º C equivalen a 32º F

¿Y 100ºC?

100º C equivalen a 212º F

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio