【问题标题】:Missing arguments when calling method调用方法时缺少参数
【发布时间】:2017-12-11 23:08:20
【问题描述】:

我有这个方法,第一个是计算个体BMI,第二个是选择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);
        }
    }

但是当我将这两种方法分开时,我不知道参数应该是什么。提前感谢您的帮助!

【问题讨论】:

    标签: java if-statement methods double


    【解决方案1】:

    您的来电

    normalBMI 
    

    在接受治疗的人的循环中缺少 BMI 参数。

    也许您可以考虑将 bmi 成员添加到 TreatedPerson 对象

    public class TreatedPerson {
    
        // your original class
        private double bmiIndex;
    
        // getter and setter methods for bmiIndex here
    }
    

    然后在你的第一个方法中,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);
    }
    

    这样,在您的第二种方法(正常BMI)中,您已经拥有所需的所有信息,并且该方法可以成为

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

    【讨论】:

      猜你喜欢
      • 2016-07-26
      • 1970-01-01
      • 2021-07-24
      • 2021-04-29
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多