Java: celsius a Fahrenheit y viceversa

En este post sobre programación en Java veremos un ejercicio que como principiantes se nos puede dificultar pero que al entenderlo notamos que es muy sencillo.

Se trata de convertir Celsius a Fahrenheit y lo contrario a eso: convertir Fahrenheit a Celsius.

Convirtiendo fórmulas en funciones

Lo único que tenemos que hacer es que, teniendo las fórmulas para convertir F a C y viceversa, debemos convertirlas a funciones.

Esto no es obligatorio, pero así se entiende de mejor manera y separamos la lógica. Por ejemplo, para convertir Celsius / Centígrados a Fahrenheit la función sería:

public static float celsiusAFahrenheit(float celsius) {
    return (celsius * 1.8f) + 32;
}

No voy a meterme en temas de fórmulas matemáticas, con que las tengamos claras basta. Y para el proceso inverso queda así:

public static float fahrenheitACelsius(float fahrenheit) {
    return (fahrenheit - 32) / 1.8f;
}

Una vez que ya tenemos ambas funciones podemos invocarlas.

Probando conversión

Veamos un primer ejemplo en donde imprimimos cuántos grados celsius son 10 grados Fahrenheit:

public static void main(String[] argumentos) {
    float fahrenheit = 10;
    // Calcular
    float celsius = fahrenheitACelsius(fahrenheit);
    System.out.printf("%f grados fahrenheit son %f grados celsius", fahrenheit, celsius);
}

La salida será: 10.000000 grados fahrenheit son -12.222222 grados celsius. Además de esto, podemos hacer lo inverso, y también podemos hacer que el usuario digite los grados.

Solicitar datos para conversión Celsius a Fahrenheit

Terminemos este ejemplo en donde se le pide al usuario que coloque el valor de los grados celsius e imprima el valor de los grados Fahrenheit a los que equivale. Queda así:

public static void main(String[] argumentos) {
    float celsius;
    Scanner sc = new Scanner(System.in);
    System.out.println("Ingresa los grados celsius: ");
    celsius = sc.nextFloat();
    // Calcular
    float fahrenheit = celsiusAFahrenheit(celsius);
    System.out.printf("%f grados celsius son %f grados fahrenheit", celsius, fahrenheit);
}

Poniendo todo junto

El código final para la conversión de unidades de temperatura en Java queda así. Recuerda que es un ejemplo y que puedes ampliarlo o modificarlo para tus necesidades:

import java.util.Scanner;

public class Main {
    public static void main(String[] argumentos) {
        float celsius;
        Scanner sc = new Scanner(System.in);
        System.out.println("Ingresa los grados celsius: ");
        celsius = sc.nextFloat();
        // Calcular
        float fahrenheit = celsiusAFahrenheit(celsius);
        System.out.printf("%f grados celsius son %f grados fahrenheit", celsius, fahrenheit);
    }

    public static float celsiusAFahrenheit(float celsius) {
        return (celsius * 1.8f) + 32;
    }

    public static float fahrenheitACelsius(float fahrenheit) {
        return (fahrenheit - 32) / 1.8f;
    }
}

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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