作者lihohsin (新)
看板java
标题[语法] Java 封装问题
时间Sun Feb 21 17:46:14 2021
我想写一个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里面
应该怎麽做?
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.228.105.248 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1613900776.A.5A8.html
1F:推 AJ56: return BMI(); 02/21 18:04
2F:推 choYM: 因为你还没呼叫BMI(),就直接getBMI()了, 另外bmi这个field 02/21 21:59
3F:→ choYM: 也不用,只要有height&weight就可呼叫getBMI()算完然後回传 02/21 22:00
4F:→ BlacksPig: 建议复习一下"this"就能正确印出bmi了,然後再复习建 02/21 23:03
5F:→ BlacksPig: 构子解决code太过冗长的问题 02/21 23:03
6F:→ BlacksPig: 看错,直接参考一楼就解了! 02/23 22:37