Hola, toni_apr tengo una duda respecto a este ejercicio, y como la solución que yo había alcanzado es muy parecida salvo una pequeña diferencia, me gustaría aprovechar el tema del otro compañero arcan.
public void comprobarDimensiones(){
if(diametro > 1.4)
System.out.println("La rueda es para un vehiculo grande");
else if(diametro > 0.8 && diametro <= 1.4)
A lo mejos es rizar el rizo, pero, por qué en el else if hay que especificar la segunda cláusula diametro <= 1.4 ¿? ¿Entiendo que si Java ha llegado a hasta esa sentencia, es porque previamente diametro > 1.4 ya ha fallado? ¿O es que si las dos fuesen verdaderas, no se ejecutan secuencialmente y ambas se ejecutarían? Es para entender bien cómo funciona el lenguaje.
Quiero decir, yo propondría esto:
public void comprobarDimensiones(){
if(diametro > 1.4)
System.out.println("La rueda es para un vehiculo grande");
else if(diametro > 0.8)
Vale, luego, por otro lado, la solución que ha dado el compañero me parece buena, y entiendo que es mejor, pero, ¿se pueden anidar los if relativos al grosor dentro de los del diámetro?
En vez de
if((diametro > 1.4 && grosor < 0.4) || (diametro <= 1.4 && diametro > 0.8 && grosor < 0.25))
System.out.println("El grosor para esta rueda es inferior al recomendado");
}
if (diametro > 1.4){
System.out.println("La rueda es para un vehículo grande");
if (grosor < 0.4){
System.out.println("El grosor para esta rueda es inferior al recomendado");
}
}
else if (diametro > 0.8){
System.out.println("La rueda es para un vehículo mediano");
if (grosor < 0.25){
System.out.println("El grosor para esta rueda es inferior al recomendado");
}
}
Si fuese válida y ambas funcionan, de cara a estilos o buenas prácticas de programación o escalabilidad, ¿cuál es mejor?
Un saludo y gracias.