本帖最后由 何仕映 于 2013-3-15 09:33 编辑
- /*
- 疑问:两个交换方法用的都是同一种思想,为什么第二种方法交换后不能在交换函数之外将交换的结果打印出来呢?请各位帮帮小弟。谢谢
- */
- class ArrTest {
- public static void main(String[] args)//主函数
- {
- int[] arr = {1,2}; //定义两个数组
- int[] arr1 = {3,4};
- print("arr未交换前的元素顺序",arr); //打印未交换前数组中的元素
- print("arr1未交换前的元素顺序",arr1);
- swap_1(arr,0,1); //调用交换方法一,并打印交换后的结果
- print("arr调用交换方法一后的元素顺序",arr);
- swap_2(arr1[0],arr1[1]); //调用交换方法二,并打印交换后的结果
- print("arr1调用交换方法二后的元素顺序",arr1);
- }
- //将两个数进行交换方法一
- public static void swap_1(int[] arr,int x,int y)
- {
- int temp = arr[x];
- arr[x] = arr[y];
- arr[y] = temp;
- }
- //将两个数进行交换方法二
- public static void swap_2(int x,int y)
- {
- int temp = x;
- x = y;
- y = temp;
- }
- //将数组输出
- public static void print(String s,int[] arr)
- {
- System.out.print(s+"arr = {");
- for (int i=0; i<arr.length; ++i)
- {
- if (i != arr.length-1)
- {
- System.out.print(arr+" ");
- }
- if (i==arr.length-1)
- {
- System.out.print(arr+"}"+"\n");
- }
- }
- }
- }
- /*
- 执行结果
- ============================================
- arr未交换前的元素顺序arr = {1 2}
- arr1未交换前的元素顺序arr = {3 4}
- arr调用交换方法一后的元素顺序arr = {2 1}
- arr1调用交换方法二后的元素顺序arr = {3 4}
- ============================================
- */
复制代码 |