2017-12-11 18 views
-2

私はこれをメソッドに持っています。最初のものは個体のBMIを計算するもので、もう1つは通常のBMIを持つ個体を選択するものです。メソッドを呼び出すときに欠けている引数

static double BMI(TreatedPerson tp) { 

    double wei = tp.weight; 
    double hei = (tp.height); 
    double heim = hei/100; 
    double bmindex = wei/(heim * heim); 

    return bmindex; 
} 



static void normalBMI(TreatedPerson tp,double bmindex) { 
    double valami = bmindex; 
    if (valami > 18.5 && valami < 24.99){ 
     System.out.println("Normális BMI érték"); 
    } 
} 

私の問題は、私はメソッドを呼び出し、それらが一つに統合され、代わりに区切られているとき、彼らはこのように動作します:

static void outputTreatedPerson(ArrayList<TreatedPerson> treatedpeople) { 
     for (TreatedPerson tp : treatedpeople) { 
      System.out.println(tp); 
      normalBMI(tp); 
     } 
    } 

しかし、私は2つのメソッドを区切るとき、私はしないでください議論が何であるべきかを知る。事前にあなたの助けをありがとう!治療の人々のループで

normalBMI 

答えて

0

あなたの呼び出しは、BMIパラメータが欠落しています。

たぶん、あなたはTreatedPersonオブジェクト

public class TreatedPerson { 

    // your original class 
    private double bmiIndex; 

    // getter and setter methods for bmiIndex here 
} 

にBMIのメンバーを追加することを検討可能性があり、その後、あなたの第一の方法、BMI(TreatedPersonのTP)であなたはそれがとても

public static double BMI(TreatedPerson tp) { 

    double wei = tp.weight; 
    double hei = (tp.height); 
    double heim = hei/100; 
    double bmindex = wei/(heim * heim); 

    tp.setBMIndex(bmindex); 
} 

次のように無効になるかもしれませんあなたの2番目の方法(normalBMI)では、あなたはすでに必要なすべての情報を持っており、その方法は可能です。

static void normalBMI(TreatedPerson tp) { 
    double valami = tp.getBMIndex(); 
    if (valami > 18.5 && valami < 24.99){ 
     System.out.println("Normális BMI érték"); 
    } 
} 
関連する問題