[语法] Java 封装问题

楼主: lihohsin (新)   2021-02-21 17:46:14
我想写一个BMI程式
把BMI计算封装在BMICalculator 中
代码分成两个档案
第一个档案
public class BMICalculate {
private double BMI;
private double height;
private double weight;
public void setHeight(double height) {
this.height=height;
}
public void setWeight(double weight) {
this.weight=weight;
}
private double BMI(){
double height_100 = height / 100;
BMI= weight/(height_100 * height_100);
return BMI;
}
public double getBMI(){
return BMI;
}
}
第二个档案
public class Test {
public static void main(String[] args){
BMICalculate Tom=new BMICalculate();
Tom.setHeight(180);
Tom.setWeight(100);
System.out.println(Tom.getBMI());
}
这样子
无法输出正确的BMI值
想把BMI计算都封装在第一个class里面
应该怎么做?
}
作者: AJ56   2021-02-21 18:04:00
return BMI();
作者: choYM (choYM)   2021-02-21 21:59:00
因为你还没呼叫BMI(),就直接getBMI()了, 另外bmi这个field也不用,只要有height&weight就可呼叫getBMI()算完然后回传
作者: BlacksPig (Black Handsome s Pig)   2021-02-21 23:03:00
建议复习一下"this"就能正确印出bmi了,然后再复习建构子解决code太过冗长的问题

Links booklink

Contact Us: admin [ a t ] ucptt.com