Quise hacer mas dinámico así que importe la clase scanner para pedirle a un usuario en especifico que ingresara el valor en Celsius. Así mismo use el método round de la clase Math para acceder a constantes y funciones matemáticas. Por otro lado no use los paréntesis sugeridos debido a que se me hizo innecesario esto debido a que el lenguaje de programación reconoce la ley de precedencia.
Sumado a lo anterior en el momento de la ejecución tuve problemas debido a que use float en vez de double y aprendí que en java los números decimales son tratados como double por defecto, y si deseas usar float, debes hacer una conversión explícita
Nota: Me gastaría si tienen una forma mas fácil de resolverlo me comenten
<--------------------------------codigo--------------------------->
import java.util.Scanner; class HelloWorld { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double celsius, fahre; System.out.println("*** El identificador de decimal es (.) ***"); System.out.println("Ingresa un numero en Celsius: "); celsius = sc.nextFloat();
//Regla de precedencia
fahre = celsius*1.8+32;
int entero= (int)Math.round((double) fahre) ;
//Mensaje formateado
String mensaje="El valor ingresado en Celsius fue %.2f , al tranformar a fahrenheit dio %.2f y su redondeo en entero fue %d" ;
String result= String.format(mensaje, celsius , fahre , entero);
System.out.println(result);
}
}
<---------------------------------codigo-------------------------------------->