IMC calcuator, varios métodos, verificación de código

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 mainconsecuencia.

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 OOPfunciona.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=233169&siteId=1
Recomendado
Clasificación