我的第一个 get 方法应该根据他们的 BMI 返回某人是否体重过轻、正常体重、超重或肥胖。
我希望第二个 get 方法会从第一个 get 方法返回相同的变量“类别”(所以无论答案是什么,体重不足,正常体重等),而无需在我调用时在括号中输入双精度它在主要方法中。
只是一些背景知识,我在 main 中创建了 people 对象并为他们提供信息(姓名、身高、体重、BMI、类别),然后将所有这些人放在一个数组列表中。这就是我打电话的原因。
我可以调用除我的类别之外的所有内容,它返回“null”。我假设它是因为我的第二个 get 方法没有分配任何数据。但是我不知道如何让它从上面的 get 方法返回变量,或者如果那不是正确的方法,我应该考虑别的。
任何帮助或建议将不胜感激。如果某些事情没有意义或者您需要更多代码,请告诉我。
public String getCategory(double bmi) {
if (bmi < 18.5) {
category = "UNDERWEIGHT";
} else if ((bmi > 18.5) && (bmi < 25)) {
category = "NORMAL WEIGHT";
} else if ((bmi > 25) && (bmi < 30)) {
category = "OVERWEIGHT";
} else if (bmi > 30) {
category = "OBESE";
}
return category;
}
public String getCategory() {
return category;
}
我的数组列表与我的人员对象信息,主要..
ArrayList<Person> allInfo = new ArrayList<Person>();
{
allInfo.add(andrewsInfo);
allInfo.add(boydsInfo);
allInfo.add(cathysInfo);
allInfo.add(donnasInfo);
}
只是为了看看它是否有效,我打印了它......
System.out.println(allInfo.get(0).getCategory());
返回“空”