好吧,我正在和Java一起工作,我感到非常困惑。我有代碼看起來像這樣爲什麼我的Java for循環沒有在循環外設置變量?
private double computeValue(Warehouse house) {
double price;
int quant;
double value;
for (int i=0; i < house.size(); i++) {
price = house.getItem(i).getPrice();
quant = house.getItem(i).getQuantity();
value += (price*quant);
}
return value;
}
它通過讀取次數達到數倉庫項目即是它的大小,而當它它得到該項目的倉庫,它的價格和數量,以及它們相乘一起成爲價值
現在,這一切都很好,並且變化,但變量值被設置爲不會放棄循環的數字。它說價值在我運行時沒有被初始化,如果我將它設置爲一個隨機的虛擬數字,它就會返回該數字,而不是從乘以價格和數量中得到的數字。任何人都可以告訴我如何解決這個問題,以便變量值從循環中獲得一個數字並返回它,以及理解爲什麼它正在做它正在做的任何事情會有幫助。謝謝!
編輯:我定house.size()爲0的問題,現在被設置爲10,仍然未初始化的返回值的誤差
如果'house.size()'返回'0'會怎麼樣?你的'價值'有什麼價值呢? –
因爲在那可能是問題?它根本不運行循環? –
是的,如果循環沒有運行,您的字段不會被初始化。給它一個默認值。 –