不废话,先放结果
for (int i = 0; i < arr.length - 1; i++ ) { //外层循环,负责排序次数,length - 1次 for (int j = 0; j < arr.length - 1 - i; j++) { //内层循环负责把arr数组中的“最大数”运送到最后一位 if(arr[j] > arr[j + 1]) { //如果数组前一位大于后一位 temp = arr[j + 1]; //则用temp交换位置 arr[j + 1] = arr[j]; arr[j] = temp; } } System.out.println("\n第"+(i+1)+"次排序为:"); //先换行后输出 for (int z = 0; z < arr.length; z++) { //用for循环输出每次循环排序后的数组 System.out.print(arr[z]+"\t"); } }