我正在尝试制作一个程序,当按下按钮时值会增加,并且进度会显示在进度条中。 min为0,max为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;
}
答案 0 :(得分:2)
您正在使用else if
进行检查,这意味着如果您的数字高于96,+ 4
可能会将任何变量递增到100。解决问题的一种快速方法是删除else
之前的所有if
,以便您无论如何都要进行检查。
答案 1 :(得分:1)
如果其中一个级别为98,它将输入与之相关的第一个if语句,更新为102,而不输入else if。一个快速简便的解决方法是将else改为if。
答案 2 :(得分:1)
你不希望别人在那里。你必须考虑如果将4级设置为100以上会发生什么:
if(happyLevel < 100)
happyLevel += 4;
if(happyLevel > 100)
happyLevel = 100;
作为旁注,该代码也可以替换为:
happyLevel = Math.Min(100, happyLevel + 4);