ตัวอย่างโค้ดภาษา Java ในการคำนวณหาค่าดัชนีมวลกาย BMI (Body Mass Index) ซึ่งจะต้องรับค่าน้ำหนักตัว (กิโลกรัม)
และ ความสูง (เซนติเมตร)
โดยสูตรดัชนีมวลกายจะต้องคำนวณจาก ความสูง ที่มีหน่วยเป็น เมตร จากตัวอย่างนี้จะต้องรับค่าความสูงเป็นเซนติเมตร เราจะต้องเขียนโค้ดอย่างไรมาดูกัน
ตารางเปรียบเทียบค่า BMI
ผลคำนวณดัชนีมวลกาย (BMI) | แปรผล |
---|---|
30.0 ขึ้นไป | อ้วนมาก |
25.0 – 29.9 | อ้วน |
23.0 – 24.9 | น้ำหนักเกินมาตรฐาน |
18.5 – 22.9 | น้ำหนักสมส่วน |
น้อยกว่า 18.5 | น้ำหนักต่ำกว่าเกณฑ์ |
สูตรคำนวณหาค่าดัชนีมวลกาย BMI (Body Mass Index)
BMI = น้ำหนักตัว / ความสูง2
—
น้ำหนักตัว
มีหน่วยเป็นกิโลกรัม
ความสูง
มีหน่วยเป็นเมต
ร
ซูโดโค้ด (Pseudo Code)
เริ่มต้น
สร้าง Scanner สำหรับรับข้อมูลจากผู้ใช้
แสดงข้อความ "ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : "
รับค่า weight จากผู้ใช้
แสดงข้อความ "ป้อนตัวเลข ความสูง (เซนติเมตร) : "
รับค่า height จากผู้ใช้
คำนวณ height_meter โดยการหาร height ด้วย 100.0
คำนวณ BMI โดยสูตร BMI = weight / (height_meter * height_meter)
ถ้า BMI >= 30
แสดงผล "BMI = [ค่า BMI] -> อ้วนมาก"
มิฉะนั้นถ้า BMI >= 25 และ BMI < 30
แสดงผล "BMI = [ค่า BMI] -> อ้วน"
มิฉะนั้นถ้า BMI >= 23 และ BMI < 25
แสดงผล "BMI = [ค่า BMI] -> น้ำหนักเกินมาตรฐาน"
มิฉะนั้นถ้า BMI >= 18.5 และ BMI < 23
แสดงผล "BMI = [ค่า BMI] -> น้ำหนักสมส่วน"
มิฉะนั้น
แสดงผล "BMI = [ค่า BMI] -> น้ำหนักต่ำกว่าเกณฑ์"
ปิดการทำงานของ Scanner
สิ้นสุด
ตัวอย่างโค้ด Java
import java.util.Scanner;
public class Comscidev {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : ");
int weight = scan.nextInt();
System.out.print("ป้อนตัวเลข ความสูง (เซนติเมตร) : ");
int height = scan.nextInt();
double height_meter = height / 100.0;
double bmi = weight / (height_meter * height_meter);
if(bmi >= 30) {
System.out.printf("\nBMI = %.2f -> อ้วนมาก", bmi);
}
else if(bmi >= 25 && bmi < 30) {
System.out.printf("\nBMI = %.2f -> อ้วน", bmi);
}
else if(bmi >= 23 && bmi < 25) {
System.out.printf("\nBMI = %.2f -> น้ำหนักเกินมาตรฐาน", bmi);
}
else if(bmi >= 18.5 && bmi < 23) {
System.out.printf("\nBMI = %.2f -> น้ำหนักสมส่วน", bmi);
}
else {
System.out.printf("\nBMI = %.2f -> น้ำหนักต่ำกว่าเกณฑ์", bmi);
}
scan.close();
}
}
อธิบายเพิ่มเติม
จะต้องแปลง ความสูง
หน่วยเป็น เซนติเมตร
ให้มีหน่วยเป็น เมตร
โดย นำตัวแปร height
มาหารด้วย 100.0
จากนั้นถึงจะนำค่าความสูงที่มีหน่วยเป็นเมตรแล้ว ไปคำนวณตามสูตร
การแสดงผล
1.) อ้วนมาก
ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : 90
ป้อนตัวเลข ความสูง (เซนติเมตร) : 165
BMI = 33.06 -> อ้วนมาก
2.) อ้วน
ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : 80
ป้อนตัวเลข ความสูง (เซนติเมตร) : 170
BMI = 27.68 -> อ้วน
3.) น้ำหนักเกินมาตรฐาน
ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : 70
ป้อนตัวเลข ความสูง (เซนติเมตร) : 170
BMI = 24.22 -> น้ำหนักเกินมาตรฐาน
4.) น้ำหนักสมส่วน
ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : 60
ป้อนตัวเลข ความสูง (เซนติเมตร) : 175
BMI = 19.59 -> น้ำหนักสมส่วน
5.) น้ำหนักต่ำกว่าเกณฑ์
ป้อนตัวเลข น้ำหนักตัว (กิโลกรัม) : 50
ป้อนตัวเลข ความสูง (เซนติเมตร) : 170
BMI = 17.30 -> น้ำหนักต่ำกว่าเกณฑ์