不知道为什么这个排序代码在Eclipse中输出总是有问题,一会儿那样,一会儿又这样

有时候这样,
排序后
4 3 1 7 9 8 6 5 9 8 7 6 5 4 3 1

有时候这样,
4 3 1 7 9 8 6 5 9 8 7 6 5 4 3 1 排序后

后来我在cmd下编译输出时没有问题的啊,
C:>java Select
4 3 1 7 9 8 6 5 排序后
9 8 7 6 5 4 3 1

我感觉真是见到鬼了,请指点

public class Select {
public static void main(String[] args) {
int[] arr = new int[]{4,3,1,7,9,8,6,5};
print(arr);
System.out.println("排序后");
bubblesort(arr);
}

private static void bubblesort(int[] arr) {
    for(int i=0; i<arr.length-1; i++) {
        for(int j=0; j<arr.length-i-1; j++) {
            if(arr[j] < arr[j+1]) {
                swap(arr, j, j+1);
            }
        }
    }
    print(arr);
}

private static void print(int[] arr) {
    for(int n : arr) {
        System.err.print(n + " ");
    }

}

private static void swap(int[] arr, int min, int outer) {
    int temp = arr[min];
    arr[min] = arr[outer];
    arr[outer] = temp;

}

}

结果肯定是这样的,因为 你首先print(arr); 然后bubblesort。如果 你想4 3 1 7 9 8 6 5 排序后
9 8 7 6 5 4 3 1

应该System.err.print(n + " "); 改成System.out.println(n + " ");