xu506075418 2009-11-09 15:41 采纳率: 0%
浏览 307
已采纳

不知道为什么这个排序代码在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;

}

}

  • 写回答

1条回答 默认 最新

  • ytsunwei403 2009-11-09 15:57
    关注

    结果肯定是这样的,因为 你首先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 + " ");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error