[語法] Java 封裝問題

看板java作者 (新)時間3年前 (2021/02/21 17:46), 編輯推噓2(204)
留言6則, 3人參與, 3年前最新討論串1/1
我想寫一個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://www.ptt.cc/bbs/java/M.1613900776.A.5A8.html

02/21 18:04, 3年前 , 1F
return BMI();
02/21 18:04, 1F

02/21 21:59, 3年前 , 2F
因為你還沒呼叫BMI(),就直接getBMI()了, 另外bmi這個field
02/21 21:59, 2F

02/21 22:00, 3年前 , 3F
也不用,只要有height&weight就可呼叫getBMI()算完然後回傳
02/21 22:00, 3F

02/21 23:03, 3年前 , 4F
建議複習一下"this"就能正確印出bmi了,然後再複習建
02/21 23:03, 4F

02/21 23:03, 3年前 , 5F
構子解決code太過冗長的問題
02/21 23:03, 5F

02/23 22:37, 3年前 , 6F
看錯,直接參考一樓就解了!
02/23 22:37, 6F
文章代碼(AID): #1WCYleMe (java)
文章代碼(AID): #1WCYleMe (java)