不用第三個變量,交換兩個int數

<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);
	}
	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章