还差,最后一个条件没有实现,楼主自己改进吧class TR 
{
public static void main(String[] args) 
{
int[] nums = {1,2,2,3,4,5};
changes(nums,0,6);
} public static void changes(int[] a, int k, int n){
if (k==n){
for(int i = 0; i < 6; i++){
 System.out.print(a[i]);
} System.out.println(); }else {
for(int j = k; j < n; j++)
{
int temp = a[k];
a[k] = a[j];
a[j] = temp;

if (k==2 && a[k]==4){
break;
}

changes(a, k+1, n); temp = a[k];
a[k] = a[j];
a[j] = temp;
}
}
}
}