从几个数字中减去最小数字

时间:2012-10-23 10:34:55

标签: java algorithm math

我有两个号码。我希望从两个值中减去较低的数字。

x: 1000
y: 200
=> result: x = 800 and y = 0.

以下对我来说有点难看,那么我能做到这一点有更好的方法吗?

if (x <= y) {
    y = y - x;
    x = 0
} else {
    x = x - y;
    y = 0;
}

5 个答案:

答案 0 :(得分:11)

这应该这样做:

int min = Math.min(x, y);
x -= min;
y -= min;

答案 1 :(得分:3)

您可以执行以下操作:

x = x - y;
y = 0;

if(x<0)
{
    y = -x
    x = 0;
}

答案 2 :(得分:2)

作为Duncan答案的补充,如果您只关心减法后不会为零的值,则可以使用此片段:

int non_zero = Math.abs(x - y); // unless the two are equal of course

答案 3 :(得分:1)

这个怎么样: -

int lower = x < y ? x : y;
x -= lower;
y -= lower;

答案 4 :(得分:0)

x=x-y;
y=y-x;
if(x<0)
    x=0;
else
    y=0;