Autor Tema: Java plantear condicionales anidados de distinta manera if else if CU00636B  (Leído 4081 veces)

Hector Hugo

  • Sin experiencia
  • *
  • Mensajes: 9
  • El León de la Rosa de Guadalupe
    • Ver Perfil
Hola amigos. Este es mi primer post y espero no cometer muchos errores. Les presento mi solución del ejercicio. Estoy usando 'THIS' aunque sé que es un tema que todavía no se trata. Lo que pasa es que soy malo ideando nombres para las variables. La página es muy buena y me han gustado los ejercicios. Espero sus comentarios y correcciones. Gracias.

Código: [Seleccionar]
public class Rueda {

private String tipo;
private double grosor;
private double diametro;
private String marca;

public Rueda() {

tipo = "";
grosor = 0.0;
diametro = 0.0;
marca = "";
}

public String getTipo(){
return tipo;
}

public void setTipo(String tipo){
this.tipo = tipo;
}

public double getGrosor(){
return grosor;
}

public void setGrosor(double grosor){
this.grosor = grosor;
}

public double getDiametro(){
return diametro;
}

public void setDiametro(double diametro){
this.diametro = diametro;
}

public String getMarca(){
return marca;
}

public void setMarca(String marca){
this.marca = marca;
}

public void comprobarDimensiones(){

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");

}

}else{

System.out.println("La rueda es para un vehículo pequeño");

}
}
}
« Última modificación: 04 de Marzo 2016, 08:55 por Alex Rodríguez »
He entrado a este mundo de la programación sin tener ninguna influencia de nadie, y lleno de mitos. Ya a pasado un año y apena he superado los mitos, pero he descubierto un maravilloso mundo.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola Hector Hugo bienvenido y gracias por tus comentarios

Veamos el ejercicio (como has comentado estás usando this, que todavía no se ha explicado según el guión del curso), sigo lo que dice el enunciado:

Si el diámetro es superior a 1.4 debe mostrarse por consola el mensaje “La rueda es para un vehículo grande”. -- > SE CUMPLE

Si es menor o igual a 1.4 pero mayor que 0.8 debe mostrarse por consola el mensaje “La rueda es para un vehículo mediano”. -- > SE CUMPLE

Si no se cumplen ninguna de las condiciones anteriores debe mostrarse por pantalla el mensaje “La rueda es para un vehículo pequeño”. -- > SE CUMPLE

Si el diámetro es superior a 1.4 con un grosor inferior a 0.4 deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”. -- > SE CUMPLE

Si el diámetro es menor o igual a 1.4 pero mayor que 0.8, con un grosor inferior a 0.25, deberá mostrarse por consola el mensaje “El grosor para esta rueda es inferior al recomendado”. -- > SE CUMPLE

Por tanto veo el ejercicio correcto.

Hay otras formas de escribir las condiciones por ejemplo la que se presenta en https://www.aprenderaprogramar.com/foros/index.php?topic=2157.0

Saludos

julian.delsol

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Muy buenas, yo propongo otro resultado (muy parecido a mi compañero sin .this y con el condicional en otro orden)

Tengo una duda antes de nada, en el método para comprobar dimensiones lo he puesto como set aunque sé que no es necesario y el resultado me parece correcto igualmente.

Gracias!

CÓDIGO:

Código: [Seleccionar]
public class Rueda {
   
//Definimos los atributos de la clase Rueda

private String tipo;
private double grosor;
private double diametro;
private String marca;

//Constructor: cuando se cree un objeto Rueda se ejecutará el código que incluyamos en el constructor

public Rueda () {
tipo = "Antideslizante";
grosor = 13.2;
diametro = 50;
marca = "Firestone";
} //Cierre del constructor

//Métodos para establecer los valores de los atributos

public void setTipo (String valorTipo) {
tipo = valorTipo;
} //Cierre del método

public void setGrosor (double valorGrosor) {
grosor = valorGrosor;
} //Cierre del método

public void setDiametro (double valorDiametro) {
diametro = valorDiametro;
} //Cierre del método

public void setMarca (String valorMarca) {
marca = valorMarca;
} //Cierre del método

public void setcomprobarDimensiones (double diametro, double grosor) {

//Condicion A
if (diametro > 1.4) { System.out.println ("La rueda es para un vehículo grande");
}
else if (diametro <= 1.4 && diametro > 0.8) {
System.out.println ("La rueda es para un vehículo mediano"); }
else {
System.out.println ("La rueda es para un vehículo pequeño"); }

//Condicion B
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");}
}


//Métodos para obtener los valres de los atributos

public String getTipo () { return tipo; } //Cierre del método

public double getGrosor () { return grosor; } //Cierre del método

public double getDiametro () { return diametro; } //Cierre del método

public String getMarca () { return marca; } //Cierre del método

//Método comprobarDimensiones con condicional IF

} //Cierre de la clase
« Última modificación: 21 de Abril 2016, 12:16 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola julian.delsol

Para plantear una solución a un ejercicio crea un nuevo hilo (un nuevo tema o conversación en el foro), de esa manera se mantienen las distintas propuestas ordenadas y podemos responderlas de una en una

Para pegar código en el foro (y para otras cuestiones) sigue las indicaciones que se dan en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Un método que comienza por set es un método para establecer algún atributo de la clase, por ejemplo setGrosor. No debes nombrar a un método comenzando por set si no tiene este fin. Bueno, poder puedes hacerlo, pero estarás llevándole la contraria a millones de programadores que sólo usan set para establecer atributos

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".