作者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/m.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