复制元素到数组

问题描述

我正在尝试将一个数组的secon一半复制到另一个数组中,但是它不断向我显示错误。它表明了这一点, 线程“主”中的异常java.lang.Arrayindexoutofboundsexception:索引4超出长度4的范围 在Practice / practice.MergerSort.main(MergerSort.java:16) 公共静态无效main(String [] args){

int[] a= {7,2,5,3,7,13,1,6};
            int l=a.length;
            int m=l/2;
            int L[] = new int[m];
            int[] R = new int[m];
            for(int i=m;i<a.length;i++) {
                R[i]=a[i];
                System.out.println(R[i]);
            }
            
        }
    
    }

解决方法

public static void main(String[] args) {
    int[] a= {7,2,5,3,7,13,1,6};
    int l=a.length;
    int m=l/2;
    int L[] = new int[4];
    int[] R = new int[4];
    (int i=m;i<a.length;i++) {
        R[i-m]=a[i];
        System.out.println(R[i-m]);
    }
    
}

}

,

之所以会这样,是因为yield()等于4,而i等于4,因此索引4不存在。 试试这个for循环:

R.length