Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: manu37 en 25 de Octubre 2017, 10:24

Título: Ejercicio condicional Java. if else, if else if mal encadenados CU00636B
Publicado por: manu37 en 25 de Octubre 2017, 10:24
Buenos días compañeros, el código del ejercicio estructura condicional en Java. if else, if else if. (CU00636B) del curso de programación Java en pdf sería el siguiente

Código: [Seleccionar]
import java.util.*;
public class Rueda
{
    Scanner teclado=new Scanner(System.in);
    // instance variables
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   

    /**
     * Constructor for objects of class Rueda
     */
    public Rueda()
    {
        // initialise instance variables
        tipo = "";
        grosor = 0.0;
        diametro = 0.0;
        marca = "";
       
       
    }

   public void setTipo(String valorTipo)
    {
        tipo = valorTipo;
    }
    public void setGrosor(double valorGrosor)
    {
        grosor = valorGrosor;
       
    }
    public void setDiamentro(double valorDiametro)
    {
        diametro = valorDiametro;
       
    }
    public void setMarca(String valorMarca)
    {
        marca = valorMarca;
       
    }
    public String getTipo(){
        return tipo;
    }
    public double getGrosor(){
        return grosor;
       
    }
    public double getDiametro(){
       
        return diametro;
    }
    public String getMarca(){
        return marca;
       
    }
   
    public void comprobarDimensiones(){
       
    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");
       
            if(diametro>1.4 && grosor<0.4 || diametro<=1.4 && diametro>0.8 && grosor<0.25){
                System.out.println("El grosro para esta rueda es inferior al recomendado");
               
            }
           
           }
       
    }
       
}
Título: Re:Ejercicio condicional Java. if else, if else if (CU00636B)
Publicado por: LuisM en 25 de Octubre 2017, 22:15
Hola manu37, el ejercicio está bien planteado pero solo cumple el punto a). Falta que cumpla
Citar
b) Si el diámetro es superior a 1.4 con un grosor inferior a 0.4, ó 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”.
Prueba usar un diámetro de 1.5 y un grosor de 0.3, por ejemplo. Cuando se ejecuta comprobarDimensiones() sale por consola "La rueda es para un vehículo grande", y nada más. No sale el mensaje “El grosor para esta rueda es inferior al recomendado”.
El punto b) solo es chequeado si la rueda fuese para un vehículo pequeño. El problema es que los if están mal "encadenados"... o finalizados"}".
Un saludo,
Luis
Título: Re:Ejercicio condicional Java. if else, if else if (CU00636B)
Publicado por: manu37 en 26 de Octubre 2017, 08:49
Buenos días LuisM,

Genial efectivamente estaba mal, el problema es que los if están mal "encadenados"... o finalizados"}". Lo he arreglado, paso el código. Muchísima gracias LuisM, no sabes cuanto te agradezco...

Código: [Seleccionar]
import java.util.*;
public class Rueda
{
    Scanner teclado=new Scanner(System.in);
    // instance variables
    private String tipo;
    private double grosor;
    private double diametro;
    private String marca;
   

    /**
     * Constructor for objects of class Rueda
     */
    public Rueda()
    {
        // initialise instance variables
        tipo = "";
        grosor = 0.0;
        diametro = 0.0;
        marca = "";
       
       
    }

   public void setTipo(String valorTipo)
    {
        tipo = valorTipo;
    }
    public void setGrosor(double valorGrosor)
    {
        grosor = valorGrosor;
       
    }
    public void setDiamentro(double valorDiametro)
    {
        diametro = valorDiametro;
       
    }
    public void setMarca(String valorMarca)
    {
        marca = valorMarca;
       
    }
    public String getTipo(){
        return tipo;
    }
    public double getGrosor(){
        return grosor;
       
    }
    public double getDiametro(){
       
        return diametro;
    }
    public String getMarca(){
        return marca;
       
    }
   
    public void comprobarDimensiones(){
       
    if (diametro> 1.4){
            System.out.println("La rueda es para un vehículo grande");
            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");
                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");
               
            }
           
           }
        }
       
    }
}