How to Write a BMI Calculator in Java
BMI stands for Body Mass Index. It is a measure of body mass based on height and weight of an individual. Using the range of BMI, individuals are classified as underweight, normal or overweight. Its value is in a specific range for a healthy individual. The following table shows the main BMI categories.
| Category | BMI Range |
| Underweight | < 18.5 |
| Normal | 18.5 - 25 |
| Overweight | 25 - 30 |
| Obese | > 30 |
Formula for Calculating BMI in Metric Units
BMI = Weight in Kg/(Height in Meters * Height in Meters)
Example calculation for weight = 90kg, height = 1.5m
BMI = 90/(1.5*1.5) = 40
The following example program in Java calculates BMI value based on inputs in metric units. Note that the program takes the height input in centimeters.
import java.util.Scanner;
// BMI Calculator in Java
// Uses metric units
public class BMICalculatorInMetric {
public static void main(String[] args) throws Exception {
calculateBMI();
}
private static void calculateBMI() throws Exception {
System.out.print("Please enter your weight in kg: ");
Scanner s = new Scanner(System.in);
float weight = s.nextFloat();
System.out.print("Please enter your height in cm: ");
float height = s.nextFloat();
// multiplication by 100*100 for cm to m conversion
float bmi = (100*100*weight)/(height*height);
System.out.println("Your BMI is: "+bmi);
printBMICategory(bmi);
}
// Prints BMI category
private static void printBMICategory(float bmi) {
if(bmi < 18.5) {
System.out.println("You are underweight");
}else if (bmi < 25) {
System.out.println("You are normal");
}else if (bmi < 30) {
System.out.println("You are overweight");
}else {
System.out.println("You are obese");
}
}
}