Hola Luis, espero que estés bien
¡Espero que estés disfrutando del curso de Java! Veo que estás trabajando en el desafío de conversión de temperaturas. Tu código está casi perfecto, pero hay un pequeño detalle que podrías ajustar para asegurarte de que la conversión sea precisa.
En tu código, estás utilizando variables de tipo int
para almacenar tanto la temperatura en Celsius como la temperatura convertida en Fahrenheit. Sin embargo, cuando realizas la multiplicación (temperatura * 1.8)
, el resultado es un número decimal, y al convertirlo directamente a int
, se pierde la parte decimal debido al redondeo.
Para mantener la precisión antes de hacer el casting a int
, puedes usar una variable de tipo double
para el cálculo intermedio. Aquí te dejo un ejemplo de cómo podrías hacerlo:
public class Temperaturas {
public static void main(String[] args) {
int temperatura = 20;
double fahrenheitExacto = (temperatura * 1.8) + 32;
int fahrenheit = (int) fahrenheitExacto;
System.out.println(fahrenheit);
}
}
En este ejemplo, fahrenheitExacto
es una variable de tipo double
que almacena el resultado preciso de la conversión. Luego, haces el casting a int
para obtener el valor sin decimales que se imprime en la consola.
Espero que esta explicación te sea útil y te ayude a completar el desafío con éxito. ¡Bons estudios!