Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Bcks7 en 10 de Septiembre 2016, 17:09

Título: Tutorial Java desde cero ejercicios básicos con condiconales if else CU00636B
Publicado por: Bcks7 en 10 de Septiembre 2016, 17:09
Les dejo mi solución a este ejercicio CU00636B del curso de programación orientada a objetos con Java, esperando esté bien.

Código: [Seleccionar]
//CU00636B if, else, if else
public class Rueda{//Inicio de la clase
   
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   
    public Rueda(){//Constructor
       
        tipo = "";
        grosor = 0;
        diametro = 0;
        marca = "";
    }
   
    //Metodos establecer valores de atributos
    public void setTipo(String valorTipo){
        tipo = valorTipo;
    }
    public void setGrosor(double valorGrosor){
        grosor = valorGrosor;
    }
    public void setDiametro(double valorDiametro){
        diametro = valorDiametro;
    }
    public void setMarca(String valorMarca){
        marca = valorMarca;
    }
    public void comprobarDimensiones(){//Metodo Comprobar Dimensiones
        if (diametro > 1.4){System.out.println("La rueda es para un vehiculo grande");
        }else if(diametro <= 1.4 || diametro > 0.8){System.out.println("La rueda es para vehiculo mediano");
        }else{System.out.println("La rueda es para un vehiculo pequeño");}
       
        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");
        }
    }
   
    //Metodos obtener valores de atributos
    public String getTipo(){return tipo;}
   
    public double getGrosor(){return grosor;}
   
    public double getDiametro(){return diametro;}
   
    public String getMarca(){return marca;}
}//Cierre de la clase
       
Título: Re:Tutorial Java desde cero ejercicios básicos con condiconales if else CU00636B
Publicado por: Alex Rodríguez en 14 de Septiembre 2016, 09:10
Hola Bcks7 no tienes los condicionales bien planteados

Si introduzco diámetro 1.2 y grosor 2 me aparece este mensaje:

La rueda es para vehiculo mediano
El grosor para esta rueda es inferior al recomendado

¿Por qué? Porque tienes este código:

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

Aquí dice "Si el diámetro es mayor que 1.4 y el grosor menor que 0.4, ó el diámetro es menor o igual 1.4, o el diámetro mayor de 0.8 y el grosor menor de 0.25 entonces mostrar que el grosor es inferior al recomendado".

Pero eso no es correcto, por el hecho de que el diámetro sea igual o menor que 1.4 no debe aparecer ese mensaje.

Esta expresión también es muy extraña: else if(diametro <= 1.4 || diametro > 0.8 )

Ahí dice "si el diámetro es menor o igual a 1.4, ó si el diámetro es mayor que 0.8, entonces..."

Recomendación: revisa este ejercicio bien resuelto: https://www.aprenderaprogramar.com/foros/index.php?topic=1214.0

Fíjate cómo se deben escribir las condiciones y vuelve a hacerlo escribiendo paso a paso las condiciones. Si tienes dudas consúltanos.

Saludos
Título: Re:Tutorial Java desde cero ejercicios básicos con condiconales if else CU00636B
Publicado por: Bcks7 en 15 de Septiembre 2016, 07:07
Gracias, así lo haré.
Título: Re:Tutorial Java desde cero ejercicios básicos con condiconales if else CU00636B
Publicado por: Bcks7 en 16 de Septiembre 2016, 00:08
Bueno, dejo mi ejercicio corregido en base al link de la respuesta

Código: [Seleccionar]
//CU00636B ESTRUCTURA O ESQUEMA DE DECISION EN JAVA, IF ELSE, IF ELSE IF.
public class Rueda{//Inicio de la clase
   
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   
    public Rueda(){//Constructor
       
        tipo = "";
        grosor = 0;
        diametro = 0;
        marca = "";
    }
   
    //Metodos establecer valores de atributos
    public void setTipo(String valorTipo){
        tipo = valorTipo;
    }
    public void setGrosor(double valorGrosor){
        grosor = valorGrosor;
    }
    public void setDiametro(double valorDiametro){
        diametro = valorDiametro;
    }
    public void setMarca(String valorMarca){
        marca = valorMarca;
    }
    public void comprobarDimensiones(){//Metodo Comprobar Dimensiones
        if (diametro > 1.4){System.out.println("La rueda es para un vehiculo grande");}
        else if ((diametro <= 1.4)&&(diametro > 0.8)){System.out.println("La rueda es para un vehiculo mediano");}
        else{System.out.println("La rueda es para un vehiculo pequeño");}
       
        if ((diametro > 1.4)&&(grosor < 0.4)||(diametro <= 1.4)&&(diametro > 0.8)&&(grosor < 0.25))
        {System.out.println("El grosor de la rueda es inferior al recomendado");}
    }
   
    //Metodos obtener valores de atributos
    public String getTipo(){return tipo;}
   
    public double getGrosor(){return grosor;}
   
    public double getDiametro(){return diametro;}
   
    public String getMarca(){return marca;}
}//Cierre de la clase

Saludos.
Título: Re:Tutorial Java desde cero ejercicios básicos con condiconales if else CU00636B
Publicado por: Alex Rodríguez en 21 de Septiembre 2016, 20:46
Ahora bien. Saludos