من رفتم سربازی اگر محتوای منو دوست داشتید و بدردتون خورد از من حمایت مالی کنید

تمرین اضافه وزن با جاوا

تمرین اضافه وزن با جاوا
تمرین اضافه وزن با جاوا

تمرین اضافه وزن با جاوا

در این نوشته تمرین “تو چقدر اضافه وزن داری؟” که در وبسایت کوئرا موجود است را برای شما کاربران عزیز حل کرده‌ایم.

 

تمرین اضافه وزن با جاوا

سوال تمرین

برای مشخص کردن اینکه یک فرد اضافه وزن دارد یا خیر از یک مقیاس به نام استفاده می‌شود. این مقیاس از طریق رابطه زیر محاسبه می‌شود و طبق جدول زیر ارزش‌گذاری می‌گردد:

فرمول BodyMassIndex

برنامه‌ای بنویسید که با گرفتن وزن برحسب کیلوگرم و قد برحسب متر به ترتیب مقدار BMI کاربر را محاسبه کند و آن را تا دو رقم اعشار چاپ کند و با توجه به بازه‌ی قرار گرفتن عدد محاسبه شده و جدول زیر پیغام مناسب در رابطه با تناسب اندام کاربر بدهد.

  • Underweight: BMI < 18.5
  • Normal:
  • Overweight:
  • Obese: 

 

ورودی تمرین

در خط اول ورودی عدد طبیعی n آمده‌است که نشان‌دهنده‌ی وزن فرد است. در خط دوم ورودی عدد حقیقی m با حداکثر دو رقم اعشار آمده‌است که نشان دهنده‌ی قد فرد است.

 1 ≤ n ≤ 200

1 ≤ m ≤ 10

 

خروجی تمرین

در خط اول خروجی باید یک عدد که نشان دهنده فرد است، با دقیقا دو رقم اعشار چاپ شود. سپس در خط دوم باید پیغام مناسب در رابطه با تناسب اندام کاربر چاپ شود.

 

مثال تمرین

input : 
93
1.71

output :
31.80
Obese

 

حل تمرین

import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {
    static Scanner sc;
    public static void main(String[] args) {
        sc = new Scanner(System.in);

        float WeightInKilograms = sc.nextFloat();
        float HeightInMeters = sc.nextFloat();

        if(WeightInKilograms < 1 || WeightInKilograms > 200)
            return;

        if(HeightInMeters < 1 || HeightInMeters > 10)
            return;

        float BMI = WeightInKilograms / (HeightInMeters * HeightInMeters);

        DecimalFormat df = new DecimalFormat("#.00");
        df.setRoundingMode(RoundingMode.CEILING);

        System.out.println(df.format((double) Math.round(BMI * 100) / 100));

        if(BMI < 18.5)
            System.out.println("Underweight");
        else if(BMI >= 18.5 && BMI < 25)
            System.out.println("Normal");
        else if(BMI >= 25 && BMI < 30)
            System.out.println("Overweight");
        else if(BMI > 30)
            System.out.println("Obese");

    }
}

 

روش حل تمرین

ابتدا با کمک Scanner مقدار قد و وزن را دریافت می‌کنیم. بعد از آن بررسی می‌کنیم که مقادیر در بازه‌ی خواسته شده و کمتر و بیش‌تر از حد صورت سوال نشود. با فرمولی که در صورت سوال بوده است مقدار BMI را بدست می‌آوریم. بعد از بدست آوردن BMI با دستورات شرطی if…else if دسته‌ای که فرد با توجه به مقدار BMI در آن قرار می‌گیرد را نمایش می‌دهیم.

منبع سوال‌: وبسایت کوئرا

اگر روش حل بهتری دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم. اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]