Martines:
Es mi primer programa con varios métodos
Primero tiene que convertir a pulgadas de altura
Segunda calcular el IMC
Tercera recibir el IMC y el estado y volver
Cuarto, que es el principal, tiene que llamar para la entrada y salida de generar
El problema es que es imposible calcular el índice de masa corporal - que da salida a 0. Cuando lo ejecuto en un solo método, que funciona bien. ¿Qué podría estar mal?
package bmiCalculator;
java.util.Scanner;
public class BmiCalculator {
public static double bmi;
public static int height;
public static int feet;
public static int inches;
public static int weight;
public static String status;
public static void convertToInches (){
height = feet * 12 + inches;
}
public static void bmiCalculator (){
bmi = (weight * 703) / (height * height);
}
public static void weightStatus () {
if (bmi < 18.5){
status = "underweight";
}
else if (bmi <= 24.9){
status = "normal";
}
else if (bmi <= 29.9){
status = "overweight";
}
else if (bmi >= 30){
status = "obese";
}
}
public static void main (String[] args){
System.out.println("Put your height in ft and inches");
Scanner sc = new Scanner(System.in);
feet = sc.nextInt();
inches = sc.nextInt();
System.out.println("Put your weight in pounds");
weight = sc.nextInt();
System.out.println("Height: " + feet + " feet, " + inches + " inches");
System.out.println("Weight: " + weight + " pounds");
System.out.println("Your BMI is " + bmi + "category" + status);
}
}
Ruhul:
La declaración de los método no significa que todo va a ejecutar. es necesario llamar a los métodos de main
consecuencia.
por ejemplo:
...
System.out.println("Put your weight in pounds");
weight = sc.nextInt();
System.out.println("Height: " + feet + " feet, " + inches + " inches");
System.out.println("Weight: " + weight + " pounds");
// call corresponding method to calculate:
convertToInches();
bmiCalculator();
weightStatus();
// now all of those method are executed.
System.out.println("Your BMI is " + bmi + "category" + status);
La declaración de todos esos métodos y propiedades como estática no es una práctica buena. Por favor, aprender cómo OOP
funciona.