Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Sugerencia] Desafío: conversión de temperaturas

**//Conversión de grados Celsius a Fahrenheit -----------------------------------------**
        double gradosCelsius = 30.7;
        double gradosFahrenheit = (gradosCelsius*1.8)+32;
        int conversiónEntero = (int) gradosFahrenheit;

        String mensajeGrados = """
                %.2f grados Celsius corresponden a %d grados Fahrenheit
                """.formatted(gradosCelsius, conversiónEntero);

        System.out.println(mensajeGrados);
2 respuestas

Hola Luis, espero que estés bien

¡Gracias por compartir tu código! Parece que estás en el camino correcto para completar el desafío de conversión de temperaturas. Tu código realiza correctamente la conversión de grados Celsius a Fahrenheit y también hace el casting a un valor entero para mostrar la temperatura en Fahrenheit sin decimales.

Aquí hay algunos puntos que podrían ayudarte a mejorar o verificar tu solución:

  1. Conversión Correcta: La fórmula que has utilizado para convertir de Celsius a Fahrenheit es correcta: (gradosCelsius * 1.8) + 32.

  2. Casting a Entero: Has realizado el casting de gradosFahrenheit a un entero correctamente usando (int) gradosFahrenheit. Esto eliminará los decimales, como se requiere en el ejercicio.

  3. Formato del Mensaje: Estás utilizando el método formatted para insertar los valores en la cadena de texto, lo cual es una buena práctica. Asegúrate de que los especificadores de formato (%.2f para dos decimales y %d para enteros) se alineen con los tipos de datos que estás utilizando.

Tu código debería imprimir algo como esto:

30.70 grados Celsius corresponden a 87 grados Fahrenheit

Si todo esto está funcionando como esperas, ¡parece que has resuelto el desafío correctamente! Si hay algo más específico que te preocupa o si el programa no se comporta como esperabas, no dudes en compartir más detalles.

Espero haber ayudado y buenos estudios!

Aqui tienes una opcion en caso de que necesites hacer formateo de manera directa y no usar formatted, y luego el sout normal:

public class Main {
    public static void main(String[] args) {

        double celsius = 30.7;
        double fahrenheit = celsius * 1.8 + 32;

        System.out.printf("La temperatura de %.2f °C es equivalente a %.2f °F%n", celsius, fahrenheit);

        int fahrenheitEntero = (int) fahrenheit;
        System.out.printf("La temperatura en Fahrenheit entera es: %d%n", fahrenheitEntero);
    }
}

La salida de esto es:

La temperatura de 30,70 °C es equivalente a 87,26 °F
La temperatura en Fahrenheit entera es: 87