mogul 请求解答 🙏

关于构造函数多循环返回值问题 感觉循环不执行 直接给我返回了 。这个函数写的是数组比较问题 左面大就左右交换 正常写我这个函数能正常执行 但是一构造函数 返回值就不对 求解答
代码如下 这个程序执行完 数组没有变化 跟初始值数组一样

img


大概就是这种多循环题 构造函数输出不出来 不执行也不知道怎么回事

静态方法compare()没有调用,然后compare()方法排序数组那里也需要修改下。

修改如下:

参考链接:
https://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/4602306



import java.util.Arrays;

public class Demo7 {
    

    public static void main(String[] args) {
        
        int [] arr = {87,45,65,3,2,90};
        compare(arr);  // 调用静态方法compare()排序数组arr
        System.out.println(Arrays.toString(arr));

    }
    
    // https://baike.baidu.com/item/%E5%86%92%E6%B3%A1%E6%8E%92%E5%BA%8F/4602306
    // compare()方法应该是使用的是冒泡排序, 根据参考链接修改如下
    public static int [] compare(int [] arr) {
        
        for(int count=0;count<arr.length-1;count++) {
            for(int i=0;i<arr.length-1-count;i++) {
                
                if(arr[i]<arr[i+1]) {
                    int t = arr[i];
                    arr[i] = arr[i+1];
                    arr[i+1]=t;
                }    
                
            }    
        }
        
        return arr;
        
        
    }

}


img