如何使值的增加不大于进度条中的最大值
本文关键字:最大值 不大于 何使值 增加 | 更新日期: 2023-09-27 18:20:07
我正在尝试制作一个程序,其中的值随着按钮的按下而增加,进度显示在进度条中。最小值为0,最大值为100,我对其进行了编码,以便如果值达到100以上,则使值等于100。然而,它一直超过100,给了我一个错误。我是编程新手,我不确定我的错误在哪里。
if (happyLevel < 100)
{
happyLevel = happyLevel + 4;
}
else if (happyLevel > 100)
{
happyLevel = 100;
}
if (hungryLevel < 100)
{
hungryLevel = hungryLevel + 4;
}
else if (hungryLevel > 100)
{
hungryLevel = 100;
}
if (healthLevel < 100)
{
healthLevel = healthLevel + 4;
}
else if (healthLevel > 100)
{
healthLevel = 100;
}
您正在使用else if
进行检查,这意味着如果+ 4
中的数字大于96,则它可以将任何变量递增到100以上。解决此问题的一个快速方法是删除if
s之前的所有else
s,这样无论怎样都可以进行检查。
你不希望其他人在里面。你必须考虑如果添加4将级别设置为100以上会发生什么:
if(happyLevel < 100)
happyLevel += 4;
if(happyLevel > 100)
happyLevel = 100;
附带说明一下,该代码也可以替换为:
happyLevel = Math.Min(100, happyLevel + 4);
如果其中一个级别是98,它将输入与它相关的第一个If语句,更新到102,而不输入else-If。一个快速而简单的解决方案是将else-If更改为just-If。