if (localCounter < 4) {
localCounter++;
}
if (localCounter < 4) {
globalCounter++;
}
我有两个int变量,它们被设置为0,当按下按钮时,它们会增加。下面是从setstate中提取的if语句。
这些语句的问题是localCounter达到4,而globalCounter在3处停止。
我也尝试了下面的语句,但是全局计数器没有停止上升
if (localCounter <= 4) {
globalCounter++;
}
有没有人知道为什么本地计数器停在4而全局计数器只停在3?以及我如何才能重写它来修复这个问题?
非常感谢你的帮助
3条答案
按热度按时间tf7tbtn21#
你的第二个条件是错误的,因为
localCounter
总是等于4,并且每次globalCounter
都递增。尝试用以下方法合并递增:liwlm1x92#
当然,全局计数器将在3处停止,因为当
localCounter = 3
和globalCounter = 3
时,在第一个if中,localCounter < 4
为真,因此localCounter
将递增到4,在这种情况下,第二个if
将为false
,因此globalCounter
永远不会达到4。因此,最佳解决方案是在相同的if
中合并这两个增量ljsrvy3e3#
在第二个if语句中,您检查是localCounter而不是globalCounter。
你也可以这样想: