Java - Duda ejercicio calcular indice masa corporal

 
Vista:

Duda ejercicio calcular indice masa corporal

Publicado por luis vazquez (1 intervención) el 24/10/2018 12:24:24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//calcular el índice de masa corporal mediante clases
 
 
package ejerciciocalculoimc;
 
import java.util.Scanner;
 
 
public class EjercicioCalculoImc {
 
 
    public static void main(String[] args) {
 
        //VARIABLES PRINCIPALES DONDE APUNTA EL THIS
        String nombre;
        int edad;
        double peso;
        double altura;
 
        Scanner lector = new Scanner(System.in);
        System.out.println("inroduzca nombre");
        nombre=lector.next();
        System.out.println("introduzca edad");
        edad=lector.nextInt();
        System.out.println("introduzca el peso");
        peso=lector.nextDouble();
        System.out.println("introduzca altura");
        altura=lector.nextDouble();
 
        CalcularIMC calcularImc = new CalcularIMC(nombre, edad, peso, altura); //creamos un nuevo objeto de la clase
        System.out.println(calcularImc.comparar());//imprimimiosel metodocomparar de la clase
 
    }
 
 
 
}
 
class CalcularIMC(){
 
     public String nombre;
     public int edad;
     public double peso;
     public double altura;
 
     public CalcularImc(String nombre, int edad, double peso, double altura){
        this.nombre = nombre;
        this.edad = edad;
        this.peso = peso;
        this.altura = altura;
 
        //CREAMOS EL METODO CALCULE 
        public comparar(){
 
        double valor=this.peso / (this.altura * this.altura);
        String cad="";
 
        if (valor<16.00){cad="tienes delgadez extrema";
 
        }else if(valor>=16 && valor<= 18.49){cad="tienes delgadez aceptable";
 
        }else if(valor>18.49 && valor<=24.99){cad="estas en tu peso";
 
        }else if(valor>24.99 && valor <= 29.99){ cad="tienes sobrepeso";
 
        }else if(valor>29.99 && valor <=34.99){cad="tienes obesidad tipo1";
 
        }else if(valor>34.99 && valor<=40){cad="tienes obesidad de tipo3";
 
        }else {cad = "no existe clasificacion";
 
        }
        return cad;
    }
 
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 22
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Duda ejercicio calcular indice masa corporal

Publicado por xuxin93 (6 intervenciones) el 24/10/2018 13:14:07
package ejerciciocalculoimc;
import java.util.Scanner;
public class EjercicioCalculoImc {

public static void main(String[] args) {

String nombre;
int edad;
double peso;
double altura;


Scanner lector = new Scanner(System.in);
System.out.println("introduzca nombre");
nombre=lector.next();
System.out.println("introduzca edad");
edad=lector.nextInt();
System.out.println("introduzca el peso");
peso=lector.nextDouble();
System.out.println("introduzca altura");
altura=lector.nextDouble();

CalcularIMC calcularImc = new CalcularIMC(nombre, edad, peso, altura); //creamos un nuevo objeto de la clase
System.out.println(calcularImc.comparar());//imprimimiosel metodocomparar de la clase

}

}





package ejerciciocalculoimc;

public class CalcularIMC {
//variables
public String nombre;
public int edad;
public double peso;
public double altura;

//constructor
public CalcularIMC(String nombre, int edad, double peso, double altura) {
super();
this.nombre = nombre;
this.edad = edad;
this.peso = peso;
this.altura = altura;
}




//CREAMOS EL METODO CALCULE (devuelve una cadena(texto))
public String comparar(){

double valor=this.peso / (this.altura * this.altura);
String cad="";

if (valor<16.00)cad="tienes delgadez extrema";
else if(valor>=16 && valor<= 18.49)cad="tienes delgadez aceptable";
else if(valor>18.49 && valor<=24.99)cad="estas en tu peso";
else if(valor>24.99 && valor <= 29.99) cad="tienes sobrepeso";
else if(valor>29.99 && valor <=34.99)cad="tienes obesidad tipo1";
else if(valor>34.99 && valor<=40)cad="tienes obesidad de tipo3";
else cad = "no existe clasificacion";

return cad;
}


}



Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda ejercicio calcular indice masa corporal

Publicado por Billy Joel (875 intervenciones) el 24/10/2018 16:56:13
Hola Luis, parece que tienes 3 errores con la clase CalcularIMC
1: El constructor de la clase debe llamarse igual, recuerda que Java es case sensitive con los nombres de las variables
2: El método comparar no tenía definido el tipo de valor a retornar. Como al final del método pones un return cad; y cad es una variable String, entonces asumo que el tipo de valor que devolverá el método es String
3: Tenías la llave del método constructor perdida hasta el final
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class CalcularIMC {
 
    public String nombre;
    public int edad;
    public double peso;
    public double altura;
 
    public CalcularIMC(String nombre, int edad, double peso, double altura) {
        this.nombre = nombre;
        this.edad = edad;
        this.peso = peso;
        this.altura = altura;
        //CREAMOS EL METODO CALCULE 
    }
 
    public String comparar() {
        double valor = this.peso / (this.altura * this.altura);
        String cad;
        if (valor < 16.00) {
            cad = "tienes delgadez extrema";
        } else if (valor >= 16 && valor <= 18.49) {
            cad = "tienes delgadez aceptable";
        } else if (valor > 18.49 && valor <= 24.99) {
            cad = "estas en tu peso";
        } else if (valor > 24.99 && valor <= 29.99) {
            cad = "tienes sobrepeso";
        } else if (valor > 29.99 && valor <= 34.99) {
            cad = "tienes obesidad tipo1";
        } else if (valor > 34.99 && valor <= 40) {
            cad = "tienes obesidad de tipo3";
        } else {
            cad = "no existe clasificacion";
        }
        return cad;
    }
}

Y yo buscando ahorrar unas cuantas líneas de código lo dejo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.Scanner;
 
public class EjercicioCalculoImc {
 
    public static String comparar(double peso, double altura) {
        double valor = peso / (altura * altura);
        String cad;
        if (valor < 16.00) {
            cad = "tienes delgadez extrema";
        } else if (valor >= 16 && valor <= 18.49) {
            cad = "tienes delgadez aceptable";
        } else if (valor > 18.49 && valor <= 24.99) {
            cad = "estas en tu peso";
        } else if (valor > 24.99 && valor <= 29.99) {
            cad = "tienes sobrepeso";
        } else if (valor > 29.99 && valor <= 34.99) {
            cad = "tienes obesidad tipo1";
        } else if (valor > 34.99 && valor <= 40) {
            cad = "tienes obesidad de tipo3";
        } else {
            cad = "no existe clasificacion";
        }
        return cad;
    }
 
    public static void main(String[] args) {
        Scanner lector = new Scanner(System.in);
        System.out.println("inroduzca nombre");
        String nombre = lector.next();
        System.out.println("introduzca edad");
        int edad = lector.nextInt();
        System.out.println("introduzca el peso");
        double peso = lector.nextDouble();
        System.out.println("introduzca altura");
        double altura = lector.nextDouble();
        System.out.println(nombre + " el calculo de indice de masa corporal indica lo siguiento: " + comparar(peso, altura));
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar