<pre name="code" class="java">不用第三個變量,交換兩個int數
思路:a = (a+b)-a
b = (a+b) -b
或者
<span style="white-space:pre"> </span>a= a - (a-b)
<span style="white-space:pre"> </span>b = b + (a - b)
public class ExchangeInt {
/**
* 不用第三個變量,交換兩個int數
*/
public static void exchange(int a,int b){
System.out.println("a=" + a +",b=" + b);
if((a > 0 && b < 0) || (a<0 && b >0)){
//同號
b = a-b;
a = a-b;
b = a + b;
} else {
//一正一負
b= a+b;
a= b-a;
b=b-a;
}
System.out.println("a=" + a +",b=" + b);
}
public static void main(String[] args){
int a = 2;
int b = -9;
exchange(a,b);
}
}