好的,我知道这可能很简单,但我出于某种原因正在努力。
我想做的是不允许用户的分数进入否定状态。
例如,用户得分为10 ..然后他们得到-11。而不是int转到-1我想它只是去0。现在,我想到了这个代码到目前为止。
hitCount -=10;
if(hitCount <= 0){
hitCount = 0;
}else{
hitCount -=10;
}
如你所见,我最初扣除了-10但运行检查以确保数字不是负数,如果是,我们将其设置为0.唯一的问题是,当hitCount为11然后 - 10.它减去由于某种原因到-9。
我只是想让它简单地转到0而不是超越它。
有什么建议吗?
答案 0 :(得分:5)
hitCount = Math.max(0, hitCount-10);
答案 1 :(得分:2)
为什么不呢:
hitCount -= 10;
if(hitCount < 0)
{
hitCount = 0;
}
出现错误是因为如果命中计数为11,则减去10,然后是1.然后,else子句将触发,然后再次减去10。那是你的错误,删除else子句。