用JAVA写一个函数交换两个数字

来源:互联网 发布:mac原版系统下载 编辑:程序博客网 时间:2024/06/01 10:28
[java] view plaincopy
  1. package com.wq.swap;  
[java] view plaincopy
  1. public class SwapNumbers {  
  2.     public int a;  
  3.     public int b;  
  4.       
  5.     //包装类交换  
  6.     public static void swap (Integer a, Integer b) {      
  7.         Integer temp = a;  
  8.         a = b;  
  9.         b = temp;  
  10.     };  
  11.       
  12.     //直接交换  
  13.     public static void swap (int a, int b) {      
  14.         int temp = a;  
  15.         a = b;  
  16.         b = temp;  
  17.     };  
  18.       
  19.     //数组  
  20.     public static void swap (int[] arr) {     
  21.         int temp = arr[0];  
  22.         arr[0] = arr[1];  
  23.         arr[1] = temp;  
  24.     };  
  25.       
  26.     //成员对象  
  27.     public  void swapNum(int a, int b) {      
  28.         this.a = b;  
  29.         this.b = a;  
  30.     };  
  31.       
  32.     //包装类打印  
  33.     public static void print(Integer m, Integer n) {  
  34.         System.out.println("m=" + m.intValue() + " n=" + n.intValue());  
  35.     }  
  36.     //直接打印  
  37.     public static void print(int a, int b) {  
  38.         System.out.println("a=" + a + " b=" + b);  
  39.     }  
  40.     //对象打印  
  41.     public  void print() {  
  42.         System.out.println("a=" + this.a + " b=" + this.b);  
  43.     }  
  44.     //数组打印  
  45.     public static void print(int[] a) {  
  46.         for (int i : a) {  
  47.             System.out.print(i + " ");  
  48.         }  
  49.         System.out.println();  
  50.     }  
  51.       
  52.       
  53.     public static void main(String[] args) {  
  54.           
  55.         System.out.println("------直接交换----------");  
  56.         int a = 2, b = 3;  
  57.           
  58.         print(a,b);  
  59.         swap(a, b);  
  60.         print(a,b);  
  61.           
  62.         System.out.println("------包装类交换----------");  
  63.         Integer m = new Integer(2);  
  64.         Integer n = new Integer(3);  
  65.           
  66.         print(m,n);  
  67.         swap(m, n);  
  68.         print(m,n);  
  69.           
  70.         System.out.println("-------数组交换---------");  
  71.         int[] arr = {2,3};  
  72.         print(arr);  
  73.         swap(arr);  
  74.         print(arr);  
  75.           
  76.         System.out.println("-------成员变量交换---------");  
  77.         print(a,b);  
  78.         SwapNumbers sn = new SwapNumbers();  
  79.         sn.swapNum(a, b);  
  80.         sn.print();  
  81.           
  82.     }  
  83. }  

[java] view plaincopy
  1. ------直接交换----------  
  2. a=2 b=3  
  3. a=2 b=3  
  4. ------包装类交换----------  
  5. m=2 n=3  
  6. m=2 n=3  
  7. -------数组交换---------  
  8. 2 3   
  9. 3 2   
  10. -------成员变量交换---------  
  11. a=2 b=3  
  12. a=3 b=2  
[java] view plaincopy
  1. 直接交换和用包装了交换都不能交换两个数的值,而采用数组交换和成员变量交换是可以做到的 
0 0
原创粉丝点击