📘

BMIを出して、判定を出してみた

2022/06/19に公開

ほぼ余談

元看護師的にはBMIという基準はだいぶ大まかなものだと感じます。
ですが、日本人でBMIが適応できないほどムキムキな人は一握りです。
なので、しばらくはBMIが指標として使われるだろうな~と思いつつこの記事を書きました。

コードを書きます

まず、身長と体重の数値を入力できるように、JavaにデフォルトでインストールされているSccanerクラスを呼びます。
ScannerはJavaのutilというパッケージの中にあるのでインポートします。
javaはプログラムを上から実行するという特徴があるので、最初にこれについて記載すると、後の処理でも参照してくれるそうなので。

import java.util.Scanner;

ここからは前回のように記載していきます。

public class BMIcheck {
public static void main(String[] args){

次にキーボードからの入力が受け取れるようにnewでコンパイル化します

Scanner scanner = new Scanner(System.in);

System.out.printlnだらけにならないように、先に結果の変数について先に宣言してしまいます。

String message = "" ;

この処理についての説明文を記載します。

System.out.println("BMIを計算して、肥満度を表示します");

身長と体重を入力してもらうコードを書きます。
医療現場ではBMIの評価に小数点第2位くらいまでを使うのでdoubleを使います。
また戻り値に0.0以上1.0未満の乱数を返してほしいためnextDoubleを使います。

System.out.println("身長を『m』で入力してください(150cmなら1.5と入力してください)")double height = scenner.nextDouble();
System.out.println("体重を『Kg』で入力してください(42.5kgなら42.5と入力してください)")
double weight = scenner.nextDouble();

ユーザーから自身の身長(m)と体重(Kg)が入力されたら、BMIを計算する処理を始めるコードを書きます。

double bmi = weight / (height * height);

if文,else if文,else文を使って、BMIの評価を行います。

 if (bmi < 18.5) {
 message = "やせ型";
} else if {(bmi >= 18.5 && bmi < 25) {
 message = "標準体系";
} else if {( bmi >= 25 && bmi < 30){
 message = "肥満1度";
} else if {(bmi >= 30 && bmi < 35 )
 message = "肥満2度";
} else if {(bmi >= 35 && bmi < 40 )
 message = "肥満3度";
} else if {bmi >= 40 )
 message = "肥満4度";
}

最後に計算したBMIと評価を表示するコードを書いて終了。

System.out.println("あなたのBMIは" + bmi + "です。");
System.out.println("あなたは" + message + "です。");

できたコードがこちら

import java.util.Scanner;

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

  String message = "" ;

  System.out.println("BMIを計算して、肥満度を表示します");

  System.out.println("身長を『m』で入力してください(150cmなら1.5と入力してください)");
  double height = scanner.nextDouble();
  System.out.println("体重を『Kg』で入力してください(42.5kgなら42.5と入力してください)");
  double weight = scanner.nextDouble();

  double bmi = weight / (height * height);
  
  if (bmi < 18.5) {
   message = "やせ型";
 } else if (bmi >= 18.5 && bmi < 25) {
   message = "標準体系";
 } else if ( bmi >= 25 && bmi < 30){
   message = "肥満1度";
 } else if (bmi >= 30 && bmi < 35 ) {
   message = "肥満2度";
 }else if (bmi >= 35 && bmi < 40 ) {
   message = "肥満3度";
 }else if (bmi >= 40 )
   message = "肥満4度";



   System.out.println("あなたのBMIは" + bmi + "です。");
   System.out.println("あなたは" + message + "です。");

  }
}

実行するとこんな感じで出ます

BMIを計算して、肥満度を表示します
身長を『m』で入力してください(150cmなら1.5と入力してください)
1.6
体重を『Kg』で入力してください(42.5kgなら42.5と入力してください)
46.3
あなたのBMIは18.085937499999996です。
あなたはやせ型です。

比較的すっきりかけたかな、と思います。

(ちなみにmessageのつづりを間違えて、一回目のテストで数十行のエラーが出ました)

Discussion