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;
    }
}
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto