【问题标题】:Java while loop for falseJava while 循环为 false
【发布时间】:2014-11-23 06:15:11
【问题描述】:

我创建了一个 while 循环,当它变为真时我想停止它

所以我说:

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

现在已经设置好,自动售货机里面有 10 个罐头 并且每次调用方法 clickCan() 它减去 1 可以, 但是当机器为空(方法变为真)时,while循环并没有结束,它只是无限地继续 我不知道为什么

【问题讨论】:

  • 向我们展示 cansEmptyclickCan 方法。
  • 查看您的 vending1 实现。显然 clickCan() 永远不会设置 cansEmpty() 正在测试的字段,或者该测试被破坏了。

标签: java while-loop


【解决方案1】:
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 empty 函数返回一个布尔值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 2022-09-24
    • 2010-11-26
    相关资源
    最近更新 更多