BMI測定値のコーディングについて
入力した身長と体重からBMIを測定するプログラムを作成しています。
自分の身長と体重、BMIと標準体重を表示し、
3つ目のメソッドで返ってきた値がtrueであれば「合格!」、
falseであれば「頑張ろう!」と表示したいと思っていますが、
メソッドisHealthがうまく返せずいろいろ試してみるも、こんがらがってしまいました。
boolean res = isHealth(re);
の箇所が「re を変数に解決できません」となってしまいます。
どなたかご教授いただけませんでしょうか。。
【コンソール画面サンプル】
あなたの身長を入力
1.72
あなたの体重
62
あなたの身長は1.72で
体重は62.0なので
BMIは20.9572....(省略
標準体重は65.0847.....(省略)
合格!!
package study;
import java.io.*;
public class bmi1 {
public static void main(String[] args) {
BufferedReader a = new BufferedReader(new InputStreamReader(System.in));
double h, w, sta;
try {
System.out.println("あなたの身長(m)を入力してください");
h = Double.parseDouble( a.readLine() );;
System.out.println("あなたの体重(kg)を入力してください");
w = Double.parseDouble( a.readLine() );
double bmi = bmi(h,w);
double stan = standard(h,sta);
boolean res = isHealth(re);
System.out.println("あなたの身長は"+h+"mで");
System.out.println("あなたの体重は"+w+"kgなので");
System.out.println("あなたのBMIは"+bmi);
System.out.println("標準体重は"+sta+"なので");
if(true){
System.out.println("合格!!");
}else{
System.out.println("頑張ろう!");
}
} catch (NumberFormatException o) {
System.out.println("数字以外のものが入力されています");
} catch (Exception e) {
System.out.println(e);
}
}
private static double bmi(double h,double w){
double bmi = w / ((h * h));
//BMI=体重(kg)÷(身長(m)×身長(m)
return bmi;
}
private static double standard(double h,double w){
double sta = h * h * 22;
//標準体重(kg)=身長(m)×身長(m)×22(BMI標準値)
return sta;
}
private static boolean isHealth(double w, double sta){
boolean result;
//x標準体重(w)以下であればtrue、でなければfalseを返す
result=(w < sta);
return result;
}
}