得到案例答案的冒泡代码是怎么编写的应该怎么修改



import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;


public class BubbleSort {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] a = new int[8];
        for (int i = 0; i < 8; i++) {
            a[i] = in.nextInt();
            System.out.print(a[i]+" ");
        }
        bubbleSort(a);


    }

    // 将前面额冒泡排序算法,封装成一个方法
    public static void bubbleSort(int[] arr) {
        // 冒泡排序 的时间复杂度 O(n^2), 自己写出
        int temp = 0; // 临时变量
        int flag=1;

        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]){
                    temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                    flag=0;
                }

            }

            if (flag==1)
            {
                break;
            }
            System.out.println();
            for (int j = 0; j < arr.length; j++) {
                    System.out.print(arr[j] + " ");
            }

            flag=1;

        }

        }
    }

img

        //冒泡排序(BubbleSort)
        /*思想:
        1.比较相邻的两个元素。如果第一个元素比第二个元素大(升序),就交换他俩
        2.对每一对相邻元素做同样的工作,从开始第一对到结尾最后一对。这一步完成后最后的元素会是最大的数
        3.针对所有元素重复以上步骤,每次都是除了最后i个
        4.重复以上操作直至排序完成
        */
     public static void bubbleSort(int[] arr){
        for (int i = 0;i < arr.length - 1;i++){
            for (int j = 0;j < arr.length - 1 - i;j++){
                if(arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        System.out.println("冒泡排序结果:");
        for (int i : arr) {
            System.out.print(arr[i-1]+" ");
        }

    }