关于#java#的问题:在已知数组中插入一个数并进行排序,但是搞不懂为什么for循环中的 i 要小于array.length而不是小于result.length

在已知数组中插入一个数并进行排序,但是搞不懂为什么for循环中的 i 要小于array.length而不是小于result.length。

        int array[]= {1,5,6,8,10,18,19,32};
        int result[]=new int[array.length+1];
        int x;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数:");
        x=sc.nextInt();
        result[result.length-1]=x;
        for(int i=0;i<array.length;i++) {
            result[i]=array[i];
        }
        array=result;
        Arrays.sort(result);
        for(int i=0;i<array.length;i++) {
            System.out.println(result[i]);
        }

这里不是赋值了么,array.length 和 result.length一样,随便写那个都行

img

因为for循环是在将array数组的值赋给result,要是用result.length那array就会数组越界,而且result的最后一位已经塞了x

img

你是说最后一个循环吗?因为前面有一句array = result;

因为result的长度比array大,用小于result会报错。