可以说我的输入为[10,8,6,15,2,-1]

输出应为[15,10,8,15,6,2]

我写了一组代码:

    public static void main(String[] args) {
        int[] unsortesArray=new int[]{10,8,6,15,2,-1};
        int len=unsortesArray.length;

        for(int i=0;i<len; i++){
            for(int j=0; j<len; j++){
                if(unsortesArray[i]<unsortesArray[j]){
                    unsortesArray[i]=unsortesArray[j];
                }
            }
            System.out.println(unsortesArray[i]);
        }
    }


但没有得到预期的输出。请提出解决方案。

最佳答案

您需要交换两个数字:

public static void main(String[] args) {
    int[] unsortesArray=new int[]{10,8,6,15,2,-1};
    int len=unsortesArray.length;

    for(int i=0;i<len; i++){
        for(int j=i+1; j<len; j++){
            if(unsortesArray[i]<unsortesArray[j]){
                int temp = unsortesArray[i]; // create a temp var to store the value you are going to swap
                unsortesArray[i]=unsortesArray[j]; // swap the value
                unsortesArray[j] = temp; // save it back again in the array
            }
        }
        System.out.println(unsortesArray[i]);
    }
}

08-28 02:25