6

私は2つの番号を持っています。両方の値から低い方の数値を減算したいと思います。

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

以下は私にとってちょっと醜いので、これを行うことができるより良いアプローチはありますか?

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

5 に答える 5

11

これはそれを行う必要があります:

int min = Math.min(x, y);
x -= min;
y -= min;
于 2012-10-23T10:39:12.120 に答える
3

次のことができます。

x = x - y;
y = 0;

if(x<0)
{
    y = -x
    x = 0;
}
于 2012-10-23T10:39:21.547 に答える
2

ダンカンの回答への追加として、減算後にゼロにならない値のみを気にする場合は、このスニペットを使用できます。

int non_zero = Math.abs(x - y); // unless the two are equal of course
于 2012-10-23T10:43:40.683 に答える
1

これはどうですか:-

int lower = x < y ? x : y;
x -= lower;
y -= lower;
于 2012-10-23T10:40:31.130 に答える
0
x=x-y;
y=y-x;
if(x<0)
    x=0;
else
    y=0;
于 2012-10-23T10:43:14.837 に答える