我正在学习java,但在创建计算身体质量指数的方法时遇到困难。它不接受我在程序中早些时候声明的实例变量,我不知道如何解决这个问题。所有帮助表示赞赏!基本Java:方法计算返回NaN
代码:
import java.util.Formatter;
public class HealthRecord
{
// initialise instance variables
String first;
String last;
double height;
double weight;
public HealthRecord(String LastName, String FirstName, double height, double weight)
{
first = FirstName;
last = LastName;
height = height;
weight = weight;
}
public static void main(String args[]) {
HealthRecord record = new HealthRecord("Last", "First", 72, 150);
System.out.println("BMI="+record.getBMI());
}
// calculate BMI
public double getBMI() {
double bmi = weight/(height * height) * 703.0;
return bmi;
}
}
结果: BMI = NaN的
应该是'this.height = height;'和'this.weight = weight;' – Li357
谢谢!我不确定为什么? –
由于您的字段与构造函数参数名称相同,因此您必须使用'this'来指示该字段。做'weight = weight'只是将参数重新分配给自己,并且字段没有被分配。 – Li357