2014-09-28 121 views
-6

我創建了一個while循環,我想停止當它成爲真正的的Java while循環虛假

,所以我就把:

while(!vending1.cansEmpty()) { 
    vending1.clickCan(); 
    count++; 
} 

現在它已經被設置,使自動售貨機有10罐在 裏面,每次你調用方法clickCan()時,它減1的值,但是當while循環沒有結束時(方法變爲真),它只會無限地發生 但我不知道爲什麼

+5

向我們展示'cansEmpty'和'clickCan'方法。 – Dici 2014-09-28 21:47:29

+0

顯示全部代碼 – Emax 2014-09-28 21:47:49

+1

看看您的自動售貨機1的實施情況。很明顯,clickCan()永遠不會設置cansEmpty()正在測試的字段,或者那個測試被破壞。 – keshlam 2014-09-28 21:47:58

回答

0
public class VendingMachine(){ 
    private Integer cans; 

    public VendingMachine(int numCans) { 
     this.cans = numCans 
    } 

    public void clickCan() { 
     cans--; 
    } 
    public boolean cansEmpty() { 
     if (cans <= 0) { 
      return true; 
     } else { 
      return false; 
     } 
    } 
} 

我認爲你只需要確保你的cans空函數返回一個布爾值。