2014-09-28 104 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空函数返回一个布尔值。