直接交換和用包裝了交換都不能交換兩個數的值!!!
而採用陣列交換和成員變數交換是可以做到的
package com.wq.swap;
public class swapnumbers ;
//直接交換
public static void swap (int a, int b) ;
//陣列
public static void swap (int arr) ;
//成員物件
public void swapnum(int a, int b) ;
//包裝類列印
public static void print(integer m, integer n)
//直接列印
public static void print(int a, int b)
//物件列印
public void print()
//陣列列印
public static void print(int a)
system.out.println();
}public static void main(string args) ;
print(arr);
swap(arr);
print(arr);
system.out.println("-------成員變數交換---------");
print(a,b);
swapnumbers sn = new swapnumbers();
sn.swapnum(a, b);
sn.print();
}直接交換----------
a=2 b=3
a=2 b=3
------包裝類交換----------
m=2 n=3
m=2 n=3
-------陣列交換---------
2 33 2
-------成員變數交換---------
a=2 b=3
a=3 b=2
**
可參考值傳遞和引用傳遞
integer不行,
1、integer本身是值物件(value object),不能修改它的內容(找找哪個方法能修改它的內容?)。實際上,串物件string都不能改變;
2、就算integer本身可以修改,自動裝箱、拆箱也不靈:
用JAVA寫乙個函式交換兩個數字
前幾天面試,問到了這個題目,寫了個程式測試了下,直接交換和用包裝了交換都不能交換兩個數的值,而採用陣列交換和成員變數交換是可以做到的 package com.wq.swap public class swapnumbers 直接交換 public static void swap int a,int...
java程式設計實現兩個數字的交換
這個題目有三種解法。1這個題目,我們解決的思路是 搞乙個中間變數 來臨時儲存乙個變數的值 我們這裡給下參考 1 2 3 4 5 6 7 8 9 10 11 publicclasstest 執行輸出 a 5,b 3 2 可以使用自加自減方法 public class zip 3 可以用運算子 publ...
用函式實現兩個數的交換(指標)
define crt secure no warnings include include void swap int pa,int pb int main 不知道大家是否注意到,在定義函式時,並非將a,b的值賦給了形參,而是將a,b的位址付賦給了整形的指標變數 pa和 pb,這是因為在將實參傳給形...