[語法] 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