我有以下代码使difference
为负,如果它的总和低于0但它没有正确更新difference
的值。为什么呢?
// if difference is negative, it is multiplied by -1
if (difference < 0) {
difference * -1;
}
我在这里做错了什么?
FIX
if (difference < 0) {
difference = difference * -1;
}
答案 0 :(得分:4)
您需要像difference = difference * -1;
答案 1 :(得分:3)
只是回答你的确切问题:
以下行不正确。
if (difference < 0) {
difference * -1;
}
应该是
if (difference < 0) {
difference = difference * -1;
}
答案 2 :(得分:1)
执行此操作时:
difference * -1;
您将difference
的值乘以-1,但由于您没有将其分配给任何内容,或者在表达式中使用此值,结果将被丢弃。
将结果分配回difference
:
difference = difference * -1;
或者,您可以先检查哪一个较大,然后从较大的一个中减去较小的一个:
int difference = (totalTimeTwo > totalTime) ? totalTimeTwo - totalTime :
totalTime - totalTimeTwo;