在给一个数组排序时, 一定会用到两个值的交换, 当我们把交换的过程封装到一个方法中时, 该如何封装呢? 这里我们只交换数组的第一个和第二个元素。 当初我的一个解决方案是: package com.dengwen; public class MaoPao { public static void main(String[] args) { int a[]={33,22,11,45,55,34,45}; sort(a); print(a); } static void sort(int[] a) { swap(a[0], a[1]); } static void swap(int a, int b){ int t; t=a; a=b; b=t; } static void print(int []a){ for(int n:a){ System.out.println(n); } } } 当然, 这个方案是无法交换成功的! 解决方法: package com.dengwen; public class MaoPao { public static void main(String[] args) { int a[]={33,22,11,45,55,34,45}; sort(a); print(a); } static void sort(int[] a) { // TODO Auto-generated method stub swap(a, 0, 1); } static void swap(int a[], int x, int y){ int t; t=a[x]; a[x]=a[y]; a[y]=t; } static void print(int []a){ for(int n:a){ System.out.println(n); } } }